add support for match, unify, norm