add orderBy function