Complete extended version of the kata