use eieio class for package format