refactoring sub questions