mode listener now updates the model