put packing steps into their own methods