Implemented Dirty Checking