first commit to refactoring