added custom authentication