separate attribute sorters into sorter module