micro performance optimisation when matching strings at the beginning
added rule.prop() for dynamic rule properties #15