Complete Overhaul of Code

Completely re-wrote each class improving efficiency, still needs
debugged