first refactoring round done