adapt require api