My implementation of the kata