Refactored pt 2 and 3
Lots of additios