Added perform_request logic