added ability to define sorters via an array of property names