fully fix authenticate