consolidate file operations