add recursive
add FolderMode