ensure data change as they happens