Big changes made to validation code and introduced several Interfaces for rule class definition.