better handling of cl::Error