add course components endpoint, fixes #9