add sorting feature