public function register($data)
 {
     Source::where('email', $data['email'])->where('email_confirmed', false)->delete();
     $source = new Source(['email' => $data['email'], 'first_name' => $data['first_name'], 'last_name' => $data['last_name'], 'password' => $data['password'], 'gender_id' => $data['gender_id']]);
     $source->save();
     $invoice = ['email' => $data['email'], 'first_name' => $data['first_name'], 'last_name' => $data['last_name'], 'gender_id' => $data['gender_id'], 'country_id' => config('shop.default_country_id')];
     $shipping = $invoice;
     $invoice['address_kind_id'] = config('shop.invoice_address_kind_id');
     $shipping['address_kind_id'] = config('shop.shipping_address_kind_id');
     $invoice_address = new SourceAddress($invoice);
     $shipping_address = new SourceAddress($shipping);
     $source->source_addresses()->saveMany([$invoice_address, $shipping_address]);
     return $source;
 }