Updated switchState()