file operation wrapper