Refactored package naming convention. Broke source into multiple modules.