some improvements to require shim