updated docs and moved more rules to dsl style