1_3 solution refactored
tasks 2* refactored
a little more recactofing applied
solutions 3* looks to be ok