first commit, 4 problems left
second commit, finished