Finally finish hw3p3