add: sync timeout support