perfect rewrite, fix dispatch, fix request