Solved all exercises, all tests pass.