Part 1: Full Code