added metaclass to extend the sorting algs