Cleaned up code. Added a start for the specifications. Added more "TO DO sections for myself".