fixed state in didChange