packaging require function