added typesafe snapshots