Creating the code implementation of the specs.
Updating the readme.