should cover course requirements. note, does not handle if phase > hyperperiod. should place check for that and quit if case occurs