use an abstract class SequenceClass