return necessary? write has a return value, so I wonder.