App-V 5 package of MS Dynamics AX 2009 crashes on exit
Hi All,
I sequenced MS Dynamics AX 2009 With App-V 5. The application works fine but I get an appcrash when I exit the application.
I know it has nothing to do with the back-end. When I launch the app without a back-end and I close the first application window, I get the same error.
I tried all Local interaction settings and also I tried to terminate all child processes. No succes...
Any ideas how to go from here?
This is the error message I get:
Description:
Stopped working
Problem signature:
Problem Event Name: APPCRASH
Application Name: Ax32.exe
Application Version: 5.0.593.0
Application Timestamp: 4831b016
Fault Module Name: mscorwks.dll
Fault Module Version: 2.0.50727.5485
Fault Module Timestamp: 53a121fa
Exception Code: c0000005
Exception Offset: 00001978
OS Version: 6.1.7601.2.1.0.272.7
Locale ID: 1033
Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409
If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt
I found this pretty interest thread about that errror:
https://community.dynamics.com/ax/f/33/t/116129.aspx
A Citrix User was claiming the same type of behavior...
Are you using Global Publishing or User Publishing? Have you tried Mounting the application to the local machine or are you using Shared Content Store mode?
Anything re-directed in your environment?
Have you attempted to run a ProcMon trace on Shutdown? Perhaps you can see if the application is reading\writing to files outside of the VFS or perhaps inside the VFS in a user location e.g. AppData (in which case you could try excluding that folder from
sequencing and test again)
PLEASE MARK ANY ANSWERS TO HELP OTHERS Blog:
rorymon.com Twitter: @Rorymon
Similar Messages
-
Updating an App-v 5 package in SCCM 2012, update not applying automatically
Hello, just doing some testing of updating an App-v 5 package in SCCM. The application has been deployed and run on a client pc. I've gone back and opened the package in the sequencer and made some changes and saved it as a new package.
In SCCM I've updated the content and pointed it at the new package. That all looks fine. It's showing the new files in the content.
The application deployment settings are set to required and set to install outside maintenance windows. The client has received the update, I can see it in the software center but it's not being applied automatically.
I've waited over 12 hours so the client has also had its maintenance window but it still has not updated. I've also tried launching the application to see if that would bring in the update but still no joy.
Just wondered what experience other people have had with this?Firstly, just because you mentioned saving as a new package, if you select that option it will create a brand new v0.0.0.1 package and users settings will not transfer to the new version, so just use save or save as in most cases.
Have you tried logging the user off and on again? And if the app is published globally, rebooting?
If the application is in use, then the update will be delayed until either of these events occur, depending on how it was published. Also, if the app has certain integration points such as shell extensions or browser plugins, these can create a lock on the
package even though you don't have the application running. You can run a powershell command to stop the package and speed things up if you wish, although this runs the risk of terminating explorer.exe or iexplore.exe:
Get-AppvClientPackage *name* | Stop-AppvClientPackage (and add -global to the end if it was globally published)
Dan Gough - UK App-V MVP
Blog: packageology.com
Twitter: @packageologist
LinkedIn -
My iphone 4s crashes too much when i download and app from store and open it its freeze or crash and restart the phone i think i am having big problem with this device i restored it to factory settings and no waay!
I think many of us need a Defense Against the Podcasts App professor.
Have you looked at this Apple support page?
http://support.apple.com/kb/HT6190?viewlocale=en_US&locale=en_US -
XBOX Music App for Windows 8 crashes and exits after a few seconds
Upgraded to Windows 8 Pro today from Windows 7. Everything seems to be working fine except for the music app. Not long after I open the app it crashes and exits the app. No errors, no warnings, etc..... Any ideas????
Hi,
Sounds like this is caused by the software conflicts, does it occur when you disable all background
third-party service and programs?
Or try to test with another account to check how it works.
Alex Zhao
TechNet Community Support -
The app for texting that comes with the phone keeps crashing what should i do?
the app for texting that comes with the Iphone keeps crashing what should i do?
Have you tried any of the Basic Troubleshooting Steps...
Restart... Reset... Restore from Backup... Restore as New...
Restart / Reset
http://support.apple.com/kb/ht1430
Backing up, Updating and Restoring
http://support.apple.com/kb/HT1414
If so... What were the Results...? -
Dynamics AX 2009 MP - Batch Job Not Discovered
Looking for ideas to resolve issue where Batch Jobs are not discovered and viewable in OpsConsole.
Confirmed the RunAsAccount is a member of local Administrators group on each DAX node and read access on the DynamicsAX database. Also enabled monitors for Batch Tasks and Users and waited a day for discovery to run at 12am. Do not see any objects under
Batch Job/Tasks/Users State Views. Application Object Server state is monitored but state of Application Object Server Computers is not monitored.
Around the time I enabled Batch Job monitoring, events 4502, 1103 and 31400 began.
I do not understand the MP reference: "Batch jobs are displayed only when the user who created the job is currently connected to an AOS instance."
Any help or ideas would be greatly appreciated, thanks.
A module of type "Microsoft.EnterpriseManagement.Mom.DatabaseQueryModules.GroupCalculationModule" reported an exception Microsoft.EnterpriseManagement.Common.DataAccessLayerException: Invalid property name: IsDynamicsInstalledAttribute_D07CDD43_9CEF_478E_B319_44D7528A2843
at Microsoft.EnterpriseManagement.DataAccessLayer.ParameterizedCriteriaBuilder.GetColumnDefinitionForProperty(String propertyName, QueryDefinition queryDefinition, IList`1 projectedColumnDefinitions)
at Microsoft.EnterpriseManagement.DataAccessLayer.ParameterizedCriteriaBuilder.ResolveColumnForProperty(ICriteriaContext criteriaContext, XmlReader criteriaReader, Nullable`1 typeContextId, IList`1 projectedColumnDefinitions)
at Microsoft.EnterpriseManagement.DataAccessLayer.ParameterizedCriteriaBuilder.ParsePredicateWithProperty(ICriteriaContext criteriaContext, Nullable`1 typeContextId, XmlReader criteriaReader)
at Microsoft.EnterpriseManagement.DataAccessLayer.ParameterizedCriteriaBuilder.ParsePredicate(ICriteriaContext criteriaContext, Nullable`1 typeContextId, XmlReader criteriaReader)
at Microsoft.EnterpriseManagement.DataAccessLayer.ParameterizedCriteriaBuilder.ParseCriteria(ICriteriaContext criteriaContext, Nullable`1 managedTypeIdContext, XmlReader criteriaReader)
at Microsoft.EnterpriseManagement.DataAccessLayer.SqlCommandBuilder.CreateWhereClauseFromCriteria(ICriteriaContext criteriaResolver, String criteriaXml, IList`1 internalColumnDefinitions)
at Microsoft.EnterpriseManagement.DataAccessLayer.SqlCommandBuilder.CreateCriteria(ICriteriaContext criteriaResolver, String criteriaXml, Dictionary`2 parameterValues, IList`1 conditionalRequiredParams, IList`1 internalColumnDefinitions)
at Microsoft.EnterpriseManagement.DataAccessLayer.QueryRequest.CreateSqlCommandForSelectType()
at Microsoft.EnterpriseManagement.DataAccessLayer.QueryRequest.Execute(SqlNotificationRequest sqlNotificationRequest)
at Microsoft.EnterpriseManagement.Mom.DatabaseQueryModules.QueryGenerator.ExecuteSnapshotQuery(MembershipRule membershipRule, DatabaseConnection databaseConnection)
at Microsoft.EnterpriseManagement.Mom.DatabaseQueryModules.ExpressionEvaluatorForSnapshot.EligibleBySnapshotResults(MembershipRule membershipRule, DatabaseConnection databaseConnection)
at Microsoft.EnterpriseManagement.Mom.DatabaseQueryModules.ExpressionEvaluatorForSnapshot.GetRelationshipChangesForSnapshot(MembershipRule membershipRule, Guid groupInstanceId, Guid groupTypeId, Guid relationshipId, IList`1 groupKeyNameValuePairs,
DatabaseConnection databaseConnection)
at Microsoft.EnterpriseManagement.Mom.DatabaseQueryModules.MembershipRuleEvaluator.EvaluateSnapshot(MembershipSubscription subscription, DatabaseConnection databaseConnection)
at Microsoft.EnterpriseManagement.Mom.DatabaseQueryModules.MembershipRuleEvaluator.EvaluateDifference(MembershipSubscription membershipSubscription, List`1 membershipChanges, DatabaseConnection databaseConnection)
at Microsoft.EnterpriseManagement.Mom.DatabaseQueryModules.MembershipRuleEvaluator.EvaluateDifference(MembershipSubscription subscription, DatabaseConnection databaseConnection)
at Microsoft.EnterpriseManagement.Mom.DatabaseQueryModules.MembershipCalculationManager.SnapshotCalculation(MembershipSubscription membershipSubscription, DatabaseConnection databaseConnection) which was running as part of rule "Microsoft.Dynamics.AX.Management.Pack.DynamicsServer.Group.DiscoveryRule"
running for instance "Microsoft Dynamics AX 2009 Computers Group" with id:"{B20E0F37-C8D3-AFCC-E21E-473B019FD826}" in management group "PRESTOPROD".HI,
It seems a known issue with Dynamics AX 2009 MP. Sorry for the inconvenience.
http://blogs.technet.com/b/operationsmgr/archive/2009/06/23/known-issues-with-the-microsoft-dynamics-ax-2009-management-pack-for-systems-center-operations-manager-2007.aspx
Niki Han
TechNet Community Support -
My iTunes app on my iPhone 5 keeps opening and then crashing, how do I fix this?
My iTunes app on my iPhone 5 keeps opening and then crashing, how do I fix this?
Try This...
Close All Open Apps... Sign Out of your Account... Perform a Reset... Try again...
Reset ( No Data will be Lost )
Press and hold the Sleep/Wake button and the Home button at the same time for at least ten seconds, until the Apple logo appears. Release the Buttons.
http://support.apple.com/kb/ht1430
If no joy...
Reset all settings
Settings > General > Reset > Reset all Settings.
This will return all iDevice settings to factory defaults... you will not lose any data.... But you will have to re-enter all of the device settings.
If the issue persists...
Connect to iTunes on the computer you usually Sync with and Restore
http://support.apple.com/kb/HT1414
Make sure you have the Latest Version of iTunes (v11) Installed on your computer
iTunes free download from www.itunes.com/download -
Was testing the app im making on iphone 4s and it has crashed and cant turn on the phone
was testing the app im making on iphone 4s and it has crashed and cant turn on the phone
I did all of that it didn't help. Still doing the same thing.
-
Office 2013 VL App-V 5 packages
Hi,
We are currently assessing the possibility of deploying Office 2013 as an App-V package since support for VL was announced with MDOP 2013 R2. I would like to create three independent packages:
Office 2013
Project 2013
Visio 2013.
I have successfully created the three App-V packages and they can all be imported an published independently. When I deploy more than one package to the same machine the existing package is un-published and the new package published. The aim is to
be able to deploy the Office App-V package to everyone and only deploy Visio and/or Project to certain users. Currently I can only achieve this by creating multiple App-V packages all including Office (i.e. Office + Visio, Office + Project and
Office + Visio + Project). Is there a supported way to have independent packages of Office, Visio and project 2013 which can co-exist on the same machine (for example, could I use connection groups between the independent packages?)
Thanks.You should be aware of a few things:
Office App-V Packages must be published globally due to the OS extension points some of which won't work if published to users. See this article for more details: http://technet.microsoft.com/library/dn481351.aspx
Office, Visio and Project in separate packages may impact the user experience
Volume License editions of Office are licensed per device, so targeting users may place the organisation in breach of the licensing agreement
Please remember to click "Mark as Answer" or "Vote as Helpful" on the post that answers your question (or click "Unmark as Answer" if a marked post does not actually answer your question). This
can be beneficial to other community members reading the thread.
This forum post is my own opinion and does not necessarily reflect the opinion or view of my employer, Microsoft, its employees, or other MVPs.
Twitter:
@stealthpuppy | Blog:
stealthpuppy.com |
The Definitive Guide to Delivering Microsoft Office with App-V
Thanks for your answers guys. It does seem the only way to achieve this is to have a single App-V package and use multiple configuration files to determine which combination of applications are published. Far from ideal... -
SCCM 2012 R2: automatic uninstall App-V 5 packages
Hi,
We are using App-V 5.0 SP3 for computers (in test phase) as well as Terminal Servers (in production, App-V 4.6 and 5.0 on the same W2K8R2 servers). We were thinking about using a App-V management server since SCCM integrated App-V has downsides, most important
one is no automatic uninstall. Then there is this comparison which shows that integrating in SCCM has much more options:
http://virtualvibes.co.uk/app-v-management-server-or-configuration-manager-2012-a-feature-comparison
So we're back at going for "SCCM App-V integrated" and the issue that uninstall doesn't happen automatically. Also there is this post which tells us "With App-V 5.0 SP2, App-V packages that are being used cannot be uninstalled."
http://henkhoogendoorn.blogspot.be/2013/07/configmgr-2012-sp1-with-app-v-50.html
So I'm still looking for the best approach to:
*deploy App-V 5.0 packages to terminal servers via SCCM 2012 (user targetted): an uninstall won't happen for one user if another user has it in use? Then how can we enforce an uninstall/remove an application nicely?
*deploy App-V 5.0 packages to W7 computers via SCCM 2012 (first phase, later we will deploy to users on the computers): deploy an App-V package to certain collection with computers, deploy an uninstall to "all computers" so that if
computerobject isn't member of the collection, it will uninstall? Won't every user then receive loads of uninstalls triggered (even not visible in the console)?
Sound all quite messy for me.
Please advise.
J.
Jan Hoedt>So the answer to your first question, yes, the installation will happen even though there's another user
My question was "an UNinstall won't happen for one user if another user has it in use? Then how can we enforce an uninstall/remove an application nicely?"
What I meant: an uninstall should remove the App-v package for all users (uninstalling for 1 user is not the goal) but it won't as long it 's in use. That means we need to force a removal somehow.
>For the second one, I'd skip the first phase
That's no option, so my question stays
"deploy an App-V package to certain collection with computers, deploy an uninstall to "all computers" so that if computerobject isn't member of the collection, it will uninstall? Won't every user/computer then receive loads of uninstalls
triggered (even not visible in the console)?"
Jan Hoedt
If you want to remove the application from all users, just add all users to the collection and deploy the application as uninstall, it will be removed from every single user when the policies are applied.
For the second question, create a collection that has all the computers that you want to have the application installed and deploy the installation of the application to that collection. Then create another collection that has all the computers as member,
BUT exclude the collection you created for installation. Now all the computers that don't belong to the install collection, will have uninstall deployed against them. -
SCCM App-V 5 packages to terminal server/Windows 7/Windows 10 design
Hi,
I would appreciate your input on a design question on App-V 5 on SCCM 2012 R2.
Where we are:
We have Terminal Servers running with App-V 4.6 Clients for some years. The users on these Terminal Servers could only receive the App-v 4.6 packages (since the terminal server only had the App-V client)
Some time ago we started the rollout of App-V 5.0 packages to Terminal servers via SCCM 2012 R2.
In parallel we rolled out some App-V 5.0 clients to Windows 7 machines.
What’s happening:
Users get App-V package meant for TS (licensed applications which should not end on clients) and they should not
What we want:
deploy App-V packages (via SCCM) to W7 computers only, later we will deploy to users but for now our administration system doesn’t cover that
select which App-V packages to deploy to Windows 10 (when it’s there)
select which App-V packages to deploy to terminal servers (WKX)
uninstall of users/computers not in collections anymore
ð
TTo achieve this we would create different deployment types of an App-v package with each a prereq “W7, Windows 10, Windows terminal services”. Then also we would create an uninstall mechanism (like this http://blogs.technet.com/b/configmgrdogs/archive/2014/11/03/managing-app-v-deployments-in-configmgr-2012.aspx)
Guess that would work, but wonder if you would see any flaws/issues
in/with this setup?
Thanks for your input.
J.
Jan Hoedt
Update: then also I wonder the supersedence within the application (with different deployment types), f.e. 7-Zip on terminal servers should be replaced but not for Windows 7. Would that work?Uninstall is a bit of a concern too indeed.
What I would do is
f.e. 7-Zip Application-INSTALL, Deployment Types:
*W7-Install prereq W7
*WKX-Install prereq WK8R2, WK12R2
=> Deploy to Group "App-V-7-Zip", which has computers as well as user groups
7-Zip Application-UNINSTALL, Deployment Types:
*W7-Uninstall prereq W7
*WKX-Uninstall prereq WK8R2, WK12R2
=> Deploy to Group "App-V-UNINSTALL" which has all App-V groups (such as "App-V-7-Zip")
That's making sence, doesn't it?
Note: "It's probably a smart idea to not trigger an uninstall on a terminal server in every occasion." Why is that? Applications should be removed when f.e. groups are not part of the App-V-7-Zip.
Jan Hoedt -
App-V 5 package ignores environment variable included in virtual registry
Hey all,
I'm experiencing following problem with one of my virtual packages - it keeps ignoring system environment variable included in virtual registry.
During sequencing, i've added system variable on the machine, sequencer picked it up and included in virtual registry. Variable is stored in following key (key set to merge):
Machine\System\CurrentControlSet\Control\Session Manager\Enviroment\MyVariable
When i install the application (with msi, packaged fully cached on the client) and i run the application, it fails with error.
Going into virtual environment of the package with cmd.exe /appvpid:<pid of application> and checking
SET command, i see that variable is stored, recognized and returned correctly:
MyVariable=C:\ProgramData\App-V\5550C766-44C0-4E75-95F9-961EFDC04B8E\158980CE-20C3-4D2B-9763-B06616BF71D0\Root\BIN
Where C:\ProgramData\App-V\5550C766-44C0(..) is local cache copy of the application.
There is a kind of workaround - application works properly when i set the variable in client's environment variables.
It looks like App-V package completely ignores the variable from virtual registry as adding identical one to the client machine allows the application to run just fine.
Has anyone similar experienced with their applications and would be able to point me in some directions where to look for the issue?
Thanks,
MarekAll,
Sorry for the spam on this thread, here is the workaround (I use AD groups). I configured this in the UserConfig.xml (remember to re-import via management console if used).
The first shortcut called BMC Atrium Integrator Spoon.lnk is the default from sequencing, it does work via the sequencing machine and also launches from command prompt within the app-v environment, but does
not work via the Windows startmenu.
The second shortcut called BMC Atrium Integrator Spoon Test.lnk
uses cmd.exe to fire off the spoon.bat (argument), this link works great native from the Windows Start-menu.
<Shortcuts Enabled="true">
<Extensions>
<Extension Category="AppV.Shortcut">
<Shortcut>
<File>[{Common Programs}]\BMC Software\Atrium Integrator\BMC Atrium Integrator Spoon.lnk</File>
<Target>[{AppVPackageRoot}]\client\data-integration\Spoon.bat</Target>
<Icon>[{Windows}]\Installer\{D664641A-EC80-45F0-828E-22A1174C4537}\IconD664641A.ico.1.ico</Icon>
<Arguments />
<WorkingDirectory>[{AppVPackageRoot}]\client\data-integration\</WorkingDirectory>
<ShowCommand>1</ShowCommand>
<ApplicationId>[{AppVPackageRoot}]\client\data-integration\Spoon.bat</ApplicationId>
</Shortcut>
</Extension>
<Extension Category="AppV.Shortcut">
<Shortcut>
<File>[{Common Programs}]\BMC Software\Atrium Integrator\BMC Atrium Integrator Spoon Test.lnk</File>
<Target>[{System}]\cmd.exe</Target>
<Icon>[{Windows}]\Installer\{D664641A-EC80-45F0-828E-22A1174C4537}\IconD664641A.ico.1.ico</Icon>
<Arguments>/C [{AppVPackageRoot}]\client\data-integration\Spoon.bat</Arguments>
<WorkingDirectory>[{AppVPackageRoot}]\client\data-integration\</WorkingDirectory>
<ShowCommand>1</ShowCommand>
<ApplicationId>[{System}]\cmd.exe</ApplicationId>
</Shortcut>
</Extension>
</Extensions>
</Shortcuts> -
Hi,
Created an installer i.e, meta package using package maker tool. I want to prevent downgrading of the application or package on the target/installed volume.
Problem is, if there is a newer version of app and when I try to install any older version, then it does not throw any error message to the end user and replaces the existing newer version with the older version of app, which should not happen. But, if I check the package version using version comparison of Package maker tool, that works fine with flat packages i.e, with the .pkg files. So, I need the solution for metapackages(.mpkg) and want to prevent downgrading of app for metapackages. I am not getting any solutions for this. Can someone guide me on this?
Thanks for the help provided.
Hi,
Created an installer i.e, meta package using package maker tool. I want to prevent downgrading of the application or package on the target/installed volume.
Problem is, if there is a newer version of app and when I try to install any older version, then it does not throw any error message to the end user and replaces the existing newer version with the older version of app, which should not happen. But, if I check the package version using version comparison of Package maker tool, that works fine with flat packages i.e, with the .pkg files. So, I need the solution for metapackages(.mpkg) and want to prevent downgrading of app for metapackages. I am not getting any solutions for this. Can someone guide me on this?
Thanks for the help provided.
-
Single instance app with native packaging
Is there any way to allow only one instance of the app to run with javafx2 native packaging? Like an attribute in the build.xml or something?
I'm using the .exe for windows and the .dmg for mac.
Appreciate your help.There is no simple deployment build switch that I know of for achieving a single instance app.
A couple of ideas (none of which I have tried).
Perhaps you could use the SingleInstanceService:
http://www.oracle.com/technetwork/articles/java/fxbest-1583679.html "Ensuring Only One Instance of the Application Is Started"
http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/examples.html#SingleInstanceService "SingleInstanceService"
It is a jnlp api based service though and I'm not sure if such a service would be available to a packaged app (maybe it would require including the jre/lib/javaws.jar file with your app or something like that).
You could write out a lock file when the app starts.
On unix (i.e. mac/linux) the lock could include the process pid for your app. On startup, check if there is a process with the lock pid currently running, if so, don't startup and perhaps send an interrupt signal to the existing app notifying it that the user tried to start a new instance.
On windows you could read and write the lock value value from the registry.
To get rid of the OS specific stuff surrounding this, perhaps this kind of lock logic could be implemented using the Java Preferences API:
http://docs.oracle.com/javase/7/docs/technotes/guides/preferences/index.html
Intellij Idea is open source and and seems to have this kind of functionality, so you could check how they do it. -
Building portal app does not package war web applications
Hi,
I'm building a portal application ear from workshop. This generates the ear fine, but when I open up the ear in winzip, I see that the web application inside of my portal application has not been packaged up as a war file. It is packaged up as a directory structure. This works fine when I deploy the app. But how do I get it to build an ear with a war file in it for each web app?
Thanks,
-- AnantAnant,
How are you creating the EAR a the momment?
There are 2 ways of doing this from workshop:
1) From file menu select build>build ear, workshop compiles the and EAR file for deployment and puts it in the applications root dir, the same dir that holds the .work file
2) Use the wlwbuild.cmd
Both of these methods create EARs that are suitable for deployment on your production server. I don't know how the wars are packaged in the ears using these methods, I guess you can have a look. I really don't think having archived war files in an archived ear or exploded war files in an archived ear makes much difference.
My preference is for expoloded EAR with exploded WARs and EJBs for maximum ease when you may need to make quick change.
Hope this helps
Maybe you are looking for
-
Transfer songs I purchased w/iTunes gift certificates but loaded on a friend's Mac to my PC
I originally posted this problem in a way that didn't reflect that I bought the iTunes songs that I am trying to transfer from a Mac to a PC, so the post was removed. Please note I am not doing anything illegal. I bought the songs using iTunes gift c
-
I want to understand TJ command with array string
In one of my pdf inside the stream i have this code: BT /F2 8.5 Tf 1 0 0 -1 0 7.0295 Tm [IS, 12, B, 4, N: 978-1-449-32914-3] TJ 0 -16.2 Td [[LS, 12, I]] TJ ET The Abobe text block display ISBN: 978-1-449-32914-3 [LSI] I wanted to understand the signi
-
I downloaded the latest version 36.0. If I uninstall the Beta version, what happens to my Add-ons & Bookmarks?
-
How do I port triggering?
I can't connect ot EA Games servers so I wrote them asking what I should. They told me this: It is imperative that you contact your router company or internet service provider. Make sure that your router has the latest firmware. After the firmware up
-
How do i do a simple backup and restore in SSIS?
I've been searching google and to my avail i've found nothing. How do i do a simple Database Backup to Database A, and from the Backup File, restore it (incremental backups) to Database B using BIDS? I just wanted to design a control flow to deal w