Renamed class to course to avoid confusion.
Added test cases and fixed bugs