smarter dirty checking, better architectural organization
update validations organization