refactored sequence, added IterableSequence