listing and sorting might have to be done using sync