part 2 complete-ish