refactor appModule