Refactored a lot of the packages for cleaner viewing.