Refactored and re-organized the entire code base. Also broke a couple things.