refactor OrderedList Class