hw2 code for Q1, Q2, Q3