add authenication layer