Assignment 3 (P3)