Refactored the package hirerachy