match() improved