Split rules out into modules
Merge pull request #26 from maxjacobson/modularize

Split rules out into modules