start of pack implementation