[Closes #100] Support user defined rules