add hw2 framework