authentication & exception handling