add course and occurrence models