course functions