public function getStepOne(Request $request, ThreeStep $threeStep, Client $client, ThreeStepUser $threeStepUser)
 {
     $arr_request = $threeStep->getRequestArrayInitial($request);
     $validateVal = $threeStep->manuallyValidate($arr_request, 10, 11);
     // return codes
     // -1 empty,
     // -2 contains spaces,
     // -3 contains unacceptable characters,
     // -4  < minLength or > maxlength
     // -5 client ID sent not found in database
     // -6 return_url value is empty
     // -7 return_url is not a URL
     // -8 client ID found but three step not initialized
     if ($validateVal < 0) {
         redirect('/threeStep/invalidData/' . $arr_request['client_id'] . '/' . $validateVal);
     } else {
         // then validate that the client ID is in the database
         if ($client->clientIdIsNotValid($arr_request['client_id'])) {
             redirect('/threeStep/invalidData/' . $arr_request['client_id'] . '/' . -5);
         } else {
             $user_id = $client->getUserID($arr_request['client_id']);
             if (!$threeStepUser->TSinitialized($user_id)) {
                 redirect('/threeStep/invalidData/' . $arr_request['client_id'] . '/' . -8);
             } else {
                 //  likely start here
                 //					$objThisClient = $client->getObjClient($arr_request['client_id']); //($cloaked_client_id);
                 //					$ts_implement = $threeStepUser->getTSImplement($user_id);
                 //					if (!$ts_implement)
                 //					{
                 //						return response(1);
                 //					}
                 //					else
                 //					{
                 /*						if ($threeStep->checkThreeStep($user_id, $request))
                 						{
                 							$threeStep->updateTSSessionTimeout($objThisClient->session_id);
                 							return response(1);
                 						}
                 						else
                 						{
                 							return response(0);
                 						}
                 */
                 //					} // end else, if !ts_implement
                 //    	if (!($threeStep->getStepOneManuallyValidate($arr_request)))
                 //			return view('three_step/step_one_fail');
                 $objThisClient = $client->getObjClient($arr_request['client_id']);
                 $user_id = $objThisClient->user_id;
                 //    	$threeStepUser = $threeStepUser
                 //    		->where('user_id', $user_id)
                 //   		->first();
                 //    	if ($threeStepUser == null)
                 //   	{
                 //    		return view('three_step/invalid_client_id');
                 //    	}
                 //    	else
                 //    	{
                 $ts_bypass = $threeStepUser->getTSBypass($user_id);
                 $bypass_warning = $threeStep->setBypassWarning($ts_bypass);
                 $data = $threeStep->getDataArrayGetStepOne($threeStepUser->hint, $arr_request['client_id'], $ts_bypass, $bypass_warning);
                 return view('three_step/step_one')->with('data', $data);
                 //   	}
             }
             // end else, if !TSinitialized()
         }
         // end else, if client ID is not valid
     }
     // end else, if validation not passed
 }