file operations now occur in order