refactoring: extracts object app into its own file