Refactoring sprint#1 part1, thx the tips David :)