change all iterators to enhanced for loop, change grade to enum and introduce grading system