refactored to use SequenceI