my first commit
some refactoring