sets iterators and design patterns 3193956