core: request and response