finish assign2