Complete coding, tests pass