added support for different request content types