packager moved to factory pattern