cs260: add problem2, mostly finished