working on per-course, sorting; still need number check and stability/speed