added authenticate wrapper