toggle and update