Refactored the Package structure to be more organized