updating assignment 2 and 3, and patially assignment 1