refactored root package