added new tso implementation.