find progression match recursively