improved custom course functionality