the adding of the rules has been refactored and shortened a great deal
rebuild and docs