HW5 initial commit (partial)