FileSystem refactor