refactored core to package object