[#62] authenticate method refactored