added search, group, and match