Does this need close(io) here