split up descdendent matcher