added rule parser and executioner