Refactored packages to fit with assignment spec