refined primary toggling