up to HW3. HW3 not completed.