diff --git a/addressfield.info b/addressfield.info
index 16a5d74..40fe707 100644
--- a/addressfield.info
+++ b/addressfield.info
@@ -8,4 +8,6 @@ files[] = includes/addressfield_form.inc
 files[] = includes/addressfield_form_default.inc
 files[] = includes/addressfield_form_br.inc
 files[] = includes/addressfield_form_gb.inc
+files[] = includes/addressfield_form_it.inc
+files[] = includes/addressfield_form_ru.inc
 files[] = includes/addressfield_form_us.inc
diff --git a/addressfield.module b/addressfield.module
index e3ca8a1..9cb250c 100644
--- a/addressfield.module
+++ b/addressfield.module
@@ -577,8 +577,9 @@ function addressfield_default_mapping() {
     'default' => 'AddressFieldForm_default',
     'BR' => 'AddressFieldForm_br',
     'GB' => 'AddressFieldForm_gb',
-    'US' => 'AddressFieldForm_us',
-    'IT' => 'AddressFieldForm_it'
+    'IT' => 'AddressFieldForm_it',
+    'RU' => 'AddressFieldForm_ru',
+    'US' => 'AddressFieldForm_us'
     // TODO: complete the mapping.
   );
 }
diff --git a/includes/addressfield_form_ru.inc b/includes/addressfield_form_ru.inc
new file mode 100644
index 0000000..22a5a62
--- /dev/null
+++ b/includes/addressfield_form_ru.inc
@@ -0,0 +1,130 @@
+<?php
+
+/**
+ * Address handler for Russian Federation.
+ */
+class AddressFieldForm_ru implements AddressFieldForm {
+  public function form($address, $field, $instance, $langcode, $items, $delta, $element) {
+    $required = $delta == 0 && $instance['required'];
+
+    $form['thoroughfare'] = array(
+      '#title' => t('Street'),
+      '#type' => 'textfield',
+      '#size' => 30,
+      '#required' => $required,
+      '#default_value' => $address['thoroughfare'],
+    );
+    $form['locality'] = array(
+      '#title' => t('City'),
+      '#type' => 'textfield',
+      '#size' => 30,
+      '#required' => $required,
+      '#default_value' => $address['locality'],
+    );
+    $form['administrative_area'] = array(
+      '#title' => t('Federal subject'),
+      '#type' => 'select',
+      '#options' => $this->russian_regions(),
+      '#default_value' => $address['administrative_area'],
+      '#required' => $required,
+    );
+    $form['postal_code'] = array(
+      '#title' => t('Postal Index'),
+      '#type' => 'textfield',
+      '#size' => 10,
+      '#default_value' => $address['postal_code'],
+    );
+    return $form;
+  }
+
+
+  private function russian_regions(){
+
+    return (array(
+      'AD' => 'Адыгея',
+      'AL' => 'Республика Алтай',
+      'ALT' => 'Алтайский край',
+      'AMU' => 'Амурская область',
+      'ARK' => 'Архангельская область',
+      'AST' => 'Астраханская область',
+      'BA' => 'Башкирия',
+      'BEL' => 'Белгородская область',
+      'BRY' => 'Брянская область',
+      'BU' => 'Бурятия',
+      'CE' => 'Чечня',
+      'CHE' => 'Челябинская область',
+      'CHU' => 'Чукотский автономный округ',
+      'CU' => 'Чувашия',
+      'DA' => 'Дагестан',
+      'IN' => 'Ингушетия',
+      'IRK' => 'Иркутская область',
+      'IVA' => 'Ивановская область',
+      'KAM' => 'Камчатский край',
+      'KB' => 'Кабардино-Балкария',
+      'KC' => 'Карачаево-Черкессия',
+      'KDA' => 'Краснодарский край',
+      'KEM' => 'Кемеровская область',
+      'KGD' => 'Калининградская область',
+      'KGN' => 'Курганская область',
+      'KHA' => 'Хабаровский край',
+      'KHM' => 'Ханты-Мансийский автономный округ',
+      'KIR' => 'Кировская область',
+      'KK' => 'Хакасия',
+      'KL' => 'Калмыкия',
+      'KLU' => 'Калужская область',
+      'KO' => 'Коми',
+      'KOS' => 'Костромская область',
+      'KR' => 'Карелия',
+      'KRS' => 'Курская область',
+      'KYA' => 'Красноярский край',
+      'LEN' => 'Ленинградская область',
+      'LIP' => 'Липецкая область',
+      'MAG' => 'Магаданская область',
+      'ME' => 'Марий Эл',
+      'MO' => 'Мордовия',
+      'MOS' => 'Московская область',
+      'MOW' => 'Москва',
+      'MUR' => 'Мурманская область',
+      'NEN' => 'Ненецкий автономный округ',
+      'NGR' => 'Новгородская область',
+      'NIZ' => 'Нижегородская область',
+      'NVS' => 'Новосибирская область',
+      'OMS' => 'Омская область',
+      'ORE' => 'Оренбургская область',
+      'ORL' => 'Орловская область',
+      'PER' => 'Пермский край',
+      'PNZ' => 'Пензенская область',
+      'PRI' => 'Приморский край',
+      'PSK' => 'Псковская область',
+      'ROS' => 'Ростовская область',
+      'RYA' => 'Рязанская область',
+      'SA' => 'Якутия',
+      'SAK' => 'Сахалинская область',
+      'SAM' => 'Самарская область',
+      'SAR' => 'Саратовская область',
+      'SE' => 'Северная Осетия',
+      'SMO' => 'Смоленская область',
+      'SPE' => 'Санкт-Петербург',
+      'STA' => 'Ставропольский край',
+      'SVE' => 'Свердловская область',
+      'TA' => 'Татарстан',
+      'TAM' => 'Тамбовская область',
+      'TOM' => 'Томская область',
+      'TUL' => 'Тульская область',
+      'TVE' => 'Тверская область',
+      'TY' => 'Тува',
+      'TYU' => 'Тюменская область',
+      'UD' => 'Удмуртия',
+      'ULY' => 'Ульяновская область',
+      'VGG' => 'Волгоградская область',
+      'VLA' => 'Владимирская область',
+      'VLG' => 'Вологодская область',
+      'VOR' => 'Воронежская область',
+      'YAN' => 'Ямало-Ненецкий автономный округ',
+      'YAR' => 'Ярославская область',
+      'YEV' => 'Еврейская автономная область',
+      'ZAB' => 'Забайкальский край'
+      )
+    );
+  }
+}
