implemented fake require