Final Version (added a few pages, refactored some code, slight design improvement, arranged project, removed trash)