more explicit sort