implemented All function