added model change listener