job done, refactoring to go