made final response handling less "gross"