better integration with request