course_ids is like course_dirs: a filter. separating it from course_dirs could be confusing. All of the callers pass args as kwargs.