loginfunction update