supports multi-file operations