dealing with different types of change