refactored PackageItem