one pass through writing