First commit. All required user stories complete.