respond to prop changes