tasks 3 - 14 solved