updated iterators to private and implemented Subset