add sortable support, close #4