use ArrayList instead of SequenceBuilder