explaination on how we do authentication