refactored packaging