Courses api

Write spec tests and implementation