working on require internals