Implementation submitted for the challenge.