week2 and week 3 code...