1,2 and 4 done .. not sure about 3