refactoring/organzing