move definition of valid changes into the class