[#19] first finished test now time to start refactoring