implementing ICollection<T>, IEnumerable<T>