add course functionality