#18 do basic refactoring to src