Starts on #2. Made the code much more organized.
Starts #3, the menu will need some small changes before complete.
Hopefully fixed compile error issue.