moved snapshot and snapshot_sorter types to different files