added `clear` fn