Issue 2,3,4 solved