app module refactor