added pack structure