CSE4300: Part 2