sort, filter, cache courses