closes #17 moved Rule classes to separate namespace.