Update to use io.write as it doesn't force a newline