refactoring root module