could switch order to start the next transaction already, then invoke the cb