public function doSignup()
 {
     // Validation rules
     $rules = array('email' => 'required|email|unique:users', 'password' => 'required|min:4');
     // run the validation rules on the inputs
     $validator = Validator::make(Input::all(), $rules);
     if ($validator->fails()) {
         // validation error -> redirect
         $failedAttribute = $validator->invalid();
         return Redirect::route('auth.signup')->with('error', $validator->errors()->get(key($failedAttribute))[0])->withInput();
         // sending back data
     } else {
         // validator success -> signup
         // create user
         $user = new User();
         // set auth info
         $user->email = Input::get('email');
         $user->password = Hash::make(Input::get('password'));
         $user->ready = 'notConnected';
         $user->summaryEmailFrequency = 'daily';
         $user->plan = 'trial';
         $user->save();
         // create user on intercom
         IntercomHelper::signedup($user);
         // signing the user in and redirect to dashboard
         Auth::login($user);
         return Redirect::route('auth.signup')->with('success', 'Signup was successful.');
     }
 }