make Family.matches() match against another Family class rather than an entity
add unit tests