add ruleReader
has bug
bug fixed