cpsc298-assign2