generic file operations added