first week refactoring