imporve semantic rule
imporve semantic rule