another pack implementation