Finished Assign2