Preconditions to rules and one rule to rules them all 

Randori Refactor for the win
bit of cleanup