reshuffled some things in ocl_pack to make it more obvious what is happening