first commit
first refactoring