problem 3 - first commit
problem 3 - first complete version