changed detect method