controller update with watch