add sort interface