further broke down the response flow