assign2 almost final