added clear()