fully working wildcard searching