Returns an IOBuffer, yields instead of sleep, simpler options setting
doc upd