router.hook implemented