My implementation:

and here the list of all the steps that I’ve done to implement it in TDD on my github account.