pset2 + hacker2 final