Refactor code and tests after challenge, status is still WIP
Add functional test into readme
A first working implementation