add support for node require