add checking for dirty values