Updated with in-class edits