moved app into its own module so appmanager could be used to provide logic for all apps