add hyponyms and hypernyms, refactor to reduce duplication, document