improved change detection