refactor File and Folder into FileSystem