adds ability to either require via node_modules or a directory subpath