refactored to use qhac-common-java, cycle grades/assignments are still broken