moved generate_duplicate_signature stuff to model