New refactoring and adding a few new rules.
Adding new rules.