make sendOperation take a callback