propagate errors write

ping @crosbymichael @creack @unclejack