more work to set up the definitions of the application states