Cleaned everything up into packages and refactored everything to work.