Add timeout & file.flush()