penalize not matching all original terms
update search fn