improved performance, added control over comparing new property values