base classes. SortStrategy pattern