moved model responsibility to the user, verify functions now return a dict containing profile details