add fuzzy matching stuff, may need more futzing. requires some libraries