basic dupe framework
phash bail