fixed some bug in match.fun,remove depends on Eset object