diff --git a/osxphotos/template.py b/osxphotos/photoinfo/template.py
similarity index 100%
rename from osxphotos/template.py
rename to osxphotos/photoinfo/template.py
diff --git a/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite b/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite
index 32b64430..9865c0e3 100644
Binary files a/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite and b/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite differ
diff --git a/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite-shm b/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite-shm
index 34c3650e..b9b4b3ab 100644
Binary files a/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite-shm and b/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite-shm differ
diff --git a/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite-wal b/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite-wal
index 94751d5b..e69de29b 100644
Binary files a/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite-wal and b/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite-wal differ
diff --git a/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite.lock b/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite.lock
index d6aad5e1..c8f3c09b 100644
--- a/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite.lock
+++ b/tests/Test-10.15.1.photoslibrary/database/Photos.sqlite.lock
@@ -7,7 +7,7 @@
hostuuid
9575E48B-8D5F-5654-ABAC-4431B1167324
pid
- 725
+ 869
processname
photolibraryd
uid
diff --git a/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite b/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite
index 0f72cdaf..86034830 100644
Binary files a/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite and b/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite differ
diff --git a/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite-shm b/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite-shm
index 3d5d2ccc..fe9ac284 100644
Binary files a/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite-shm and b/tests/Test-10.15.1.photoslibrary/database/search/psi.sqlite-shm differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db b/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db
index 258a10e9..50503eef 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db and b/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db-shm b/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db-shm
index facab9c5..4b9b6275 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db-shm and b/tests/Test-10.15.1.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db-shm differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-shm b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-shm
index f2945c36..9da70f59 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-shm and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-shm differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-wal b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-wal
index 4e511313..24c69413 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-wal and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-wal differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-shm b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-shm
index 427f22cd..d2344656 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-shm and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-shm differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-wal b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-wal
index 3892cbff..47b23bef 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-wal and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-wal differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite
index 3361b726..0cc21f98 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-shm b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-shm
index c8d13ffc..60663a28 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-shm and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-shm differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-wal b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-wal
index 48a9311e..35010fd9 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-wal and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-wal differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-shm b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-shm
index 4b6b8ba3..4c6f1219 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-shm and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-shm differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-wal b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-wal
index ee4b7e98..2ca4bd84 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-wal and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-wal differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGSearchComputationCache.plist b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGSearchComputationCache.plist
index 5a74827a..17ec6a8e 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGSearchComputationCache.plist and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGSearchComputationCache.plist differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServicePreferences.plist b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServicePreferences.plist
index b1d90f7c..7c75cbc7 100644
--- a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServicePreferences.plist
+++ b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServicePreferences.plist
@@ -3,24 +3,24 @@
BackgroundHighlightCollection
- 2020-05-01T23:03:12Z
+ 2020-05-04T23:54:07Z
BackgroundHighlightEnrichment
- 2020-05-01T23:03:11Z
+ 2020-05-04T23:54:06Z
BackgroundJobAssetRevGeocode
- 2020-05-02T01:35:19Z
+ 2020-05-04T23:54:08Z
BackgroundJobSearch
- 2020-05-01T23:03:12Z
+ 2020-05-04T23:54:08Z
BackgroundPeopleSuggestion
- 2020-05-01T23:03:11Z
+ 2020-05-04T23:54:06Z
BackgroundUserBehaviorProcessor
- 2020-05-01T23:03:13Z
+ 2020-05-04T23:54:08Z
PhotoAnalysisGraphLastBackgroundGraphConsistencyUpdateJobDateKey
- 2020-05-02T01:35:36Z
+ 2020-05-04T23:58:40Z
PhotoAnalysisGraphLastBackgroundGraphRebuildJobDate
- 2020-05-01T23:03:11Z
+ 2020-05-04T23:54:05Z
PhotoAnalysisGraphLastBackgroundMemoryGenerationJobDate
- 2020-05-02T01:35:19Z
+ 2020-05-04T23:54:09Z
SiriPortraitDonation
- 2020-05-01T23:03:13Z
+ 2020-05-04T23:54:08Z
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-shm b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-shm
index fe9ac284..ca5a3e01 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-shm and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-shm differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-shm b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-shm
index fe9ac284..ca5a3e01 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-shm and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-shm differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb
index 2c32774f..e01aa5c5 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb differ
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PhotoAnalysisServicePreferences.plist b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PhotoAnalysisServicePreferences.plist
index e6dee62e..2efb9ca3 100644
--- a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PhotoAnalysisServicePreferences.plist
+++ b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PhotoAnalysisServicePreferences.plist
@@ -3,8 +3,8 @@
FaceIDModelLastGenerationKey
- 2020-05-01T23:03:14Z
+ 2020-05-04T23:54:10Z
LastContactClassificationKey
- 2020-05-01T23:03:18Z
+ 2020-05-04T23:54:13Z
diff --git a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/vnpersonsmodel.bin b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/vnpersonsmodel.bin
index c3a6c0e5..6c273841 100644
Binary files a/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/vnpersonsmodel.bin and b/tests/Test-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/vnpersonsmodel.bin differ
diff --git a/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite b/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite
index 20b022cc..8c8ba5e0 100644
Binary files a/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite and b/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite differ
diff --git a/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite-shm b/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite-shm
deleted file mode 100644
index 5004dce5..00000000
Binary files a/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite-shm and /dev/null differ
diff --git a/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite-wal b/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite-wal
deleted file mode 100644
index 37a26aee..00000000
Binary files a/tests/Test-10.15.4.photoslibrary/database/Photos.sqlite-wal and /dev/null differ
diff --git a/tests/Test-10.15.4.photoslibrary/database/search/psi.sqlite-shm b/tests/Test-10.15.4.photoslibrary/database/search/psi.sqlite-shm
index 06265969..fe9ac284 100644
Binary files a/tests/Test-10.15.4.photoslibrary/database/search/psi.sqlite-shm and b/tests/Test-10.15.4.photoslibrary/database/search/psi.sqlite-shm differ
diff --git a/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite b/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite
index bbd6c0cf..474f8c8d 100644
Binary files a/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite and b/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite differ
diff --git a/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite-shm b/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite-shm
deleted file mode 100644
index 59fcf58f..00000000
Binary files a/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite-shm and /dev/null differ
diff --git a/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite-wal b/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite-wal
deleted file mode 100644
index b2f7e920..00000000
Binary files a/tests/Test-Cloud-10.15.1.photoslibrary/database/Photos.sqlite-wal and /dev/null differ
diff --git a/tests/Test-Cloud-10.15.1.photoslibrary/database/search/psi.sqlite-shm b/tests/Test-Cloud-10.15.1.photoslibrary/database/search/psi.sqlite-shm
index 5ec2b795..fe9ac284 100644
Binary files a/tests/Test-Cloud-10.15.1.photoslibrary/database/search/psi.sqlite-shm and b/tests/Test-Cloud-10.15.1.photoslibrary/database/search/psi.sqlite-shm differ
diff --git a/tests/Test-Movie-5_0.photoslibrary/database/search/psi.sqlite-shm b/tests/Test-Movie-5_0.photoslibrary/database/search/psi.sqlite-shm
index 4b67f917..dc51884b 100644
Binary files a/tests/Test-Movie-5_0.photoslibrary/database/search/psi.sqlite-shm and b/tests/Test-Movie-5_0.photoslibrary/database/search/psi.sqlite-shm differ
diff --git a/tests/Test-Places-Catalina-10_15_1.photoslibrary/database/search/psi.sqlite-shm b/tests/Test-Places-Catalina-10_15_1.photoslibrary/database/search/psi.sqlite-shm
index 91e4e9bd..b05ed24c 100644
Binary files a/tests/Test-Places-Catalina-10_15_1.photoslibrary/database/search/psi.sqlite-shm and b/tests/Test-Places-Catalina-10_15_1.photoslibrary/database/search/psi.sqlite-shm differ
diff --git a/tests/Test-RAW-10.15.1.photoslibrary/database/search/psi.sqlite-shm b/tests/Test-RAW-10.15.1.photoslibrary/database/search/psi.sqlite-shm
index 73025c50..62dc1f04 100644
Binary files a/tests/Test-RAW-10.15.1.photoslibrary/database/search/psi.sqlite-shm and b/tests/Test-RAW-10.15.1.photoslibrary/database/search/psi.sqlite-shm differ
diff --git a/tests/Test-Shared-10.15.1.photoslibrary/database/search/psi.sqlite-shm b/tests/Test-Shared-10.15.1.photoslibrary/database/search/psi.sqlite-shm
index e76cba04..5c7cf34e 100644
Binary files a/tests/Test-Shared-10.15.1.photoslibrary/database/search/psi.sqlite-shm and b/tests/Test-Shared-10.15.1.photoslibrary/database/search/psi.sqlite-shm differ