working example of surround with sub transaction