change detection code easier to understand