- implementation of course (need other classes to fully test)