iterators
added clear function