done method 1,2 & 3.