explain request flow