final version of hw 3