First Version

Fits all the requirements, but doesn't look pretty.