some modifications for readability and grading