new year refactoring pt.1