better sortable implementation