only update on text change