added 3 soultions