Sprint 1 - Version that was presented to the client

Add the code that was presented to the client, but was committed after the presentation.