Cleaned up and organized repo. Separated the project into design and implementation