a lot of stuff but mainly authnetication