file operations techniques