add require function and load function