finished restructuring new courseinput method