customized change detection