add authenticate support