add authenticate method