file system factory