more file operations implemented