added change detect