Merge with Canny's HW3 edits