can return an io reader as response