Added cut down version of the implementation to start simple.