diff --git a/domain_variable.admin.inc b/domain_variable.admin.inc
index 8b8d41e..8aa3ed6 100644
--- a/domain_variable.admin.inc
+++ b/domain_variable.admin.inc
@@ -1,5 +1,4 @@
 <?php
-
 /**
  * @file
  * Domain manager configuration options.
@@ -8,11 +7,14 @@
  * @ingroup domain_variable
  */
 
+
 /**
  * Variables settings form
  */
 function domain_variable_admin_variables($domain) {
+  // Build the realm key with the domain_id
   $realm_key = _domain_variable_realm_key($domain);
+  // Load the form
   module_load_include('form.inc', 'variable_realm');
   return drupal_get_form('variable_realm_edit_variables_form', 'domain', $realm_key);
 }
diff --git a/domain_variable.domain.inc b/domain_variable.domain.inc
index 2d0a779..bc0b1ed 100644
--- a/domain_variable.domain.inc
+++ b/domain_variable.domain.inc
@@ -1,5 +1,4 @@
 <?php
-
 /**
  * @file
  * Domain hooks for Domain Conf.
@@ -7,6 +6,7 @@
  * @ingroup domain_variable
  */
 
+ 
 /**
  * Implements hook_domain_batch().
  *
@@ -19,6 +19,8 @@ function domain_variable_domain_batch() {
  * Implements hook_domain_delete().
  */
 function domain_variable_domain_delete($domain, $form_values = array()) {
+  // Build the realm key with the domain_id
   $realm_key = _domain_variable_realm_key($domain);
-  variable_store_delete_all('domain', $domain['domain_id']);
+  // Delete the variable
+  variable_store_delete_all('domain', $realm_key);
 }
diff --git a/domain_variable.module b/domain_variable.module
index d50f9b8..36b3870 100644
--- a/domain_variable.module
+++ b/domain_variable.module
@@ -31,6 +31,7 @@
  * Note: this hook is also required to ensure that the module is loaded at boot.
  */
 function domain_variable_language_init() {
+  variable_realm_initialize('domain');
   $realm = variable_realm_controller('domain');
   $store = $realm->getCurrentStore();
   // Make sure that there is a valid store, @see https://drupal.org/node/2029191
@@ -80,7 +81,7 @@ function domain_variable_variable_realm_info() {
 function domain_variable_domain_bootstrap_full($domain) {
   // Avoid loading this for drush and update.php
   if (function_exists('drush_verify_cli') || function_exists('update_prepare_d7_bootstrap')) return;
-  module_invoke('variable_realm', 'initialize', 'domain');
+  //module_invoke('variable_realm', 'initialize', 'domain');
 }
 
 /**
diff --git a/domain_variable.variable.inc b/domain_variable.variable.inc
index 8dcef4b..49ef357 100644
--- a/domain_variable.variable.inc
+++ b/domain_variable.variable.inc
@@ -16,37 +16,147 @@
  */
 function domain_variable_variable_info_alter(&$variables, $options) {
   $list = array(
-    'site_name',
-    'site_slogan',
-    'site_frontpage',
-    'site_mail',
-    'anonymous',
-    'theme_settings',
-    'theme_[theme]_settings',
-    'admin_theme',
-    'date_default_timezone',
-    'cache',
-    'cache_lifetime',
-    'maintenance_mode',
-    'maintenance_mode_message',
-    'language_default',
-    'menu_main_links_source',
-    'menu_secondary_links_source',
-    //'menu_options_[node_type]', //??
-    //'menu_parent_[node_type]', //??
+
+    /*
+     * System module
+     */
+
+    // Site configuration. Group 'site_information'.
+    'site_name', // Standard (Domain+Language)
+    'site_mail', // Standard (Domain)
+    'site_slogan', // Standard (Domain+Language)
+    'anonymous', // Standard (Domain+Language)
+    'site_frontpage', // Standard (Domain+Language)
+    'default_nodes_main', // Variable-provided (Domain)
+    'site_403', // Variable-provided (Domain+Language)
+    'site_404', // Variable-provided (Domain+Language)
+
+    // Feed settings. Group 'feed_settings'.
+    'feed_description', // Variable-provided (Domain+Language)
+    'feed_default_items', // Variable-provided (Domain)
+    'feed_item_length', // Variable-provided (Domain)
+
+    // Regional settings. Group 'regional_settings'.
+    'site_default_country', // Variable-provided (Domain)
+    'date_first_day', // Variable-provided (Domain+Language)
+    'date_default_timezone', // Standard (Domain)
+    'configurable_timezones', // Variable-provided (Domain)
+    'empty_timezone_message', // Variable-provided (Domain)
+    'user_default_timezone', // Variable-provided (Domain+Language)
+    'date_format_[date_type]', //?? Variable-provided (Domain)
+
+    // Maintenance mode. Group 'site_information'.
+    'maintenance_mode', // Standard (Domain)
+    'maintenance_mode_message', // Standard (Domain+Language)
+
+    // Theme settings. Group 'theme_settings'.
+    'theme_settings', // Standard (Domain+Language)
+    'theme_[theme]_settings', // Standard (Domain+Language)
+    //'admin_theme', //? Domain-provided (Domain+Language)
+
+    // Performance options. Group 'system_performance'.
+    'cache', // Standard (Domain)
+    'block_cache', // Variable-provided (Domain)
+    'cache_lifetime', // Standard (Domain)
+    'page_cache_maximum_age', // Variable-provided (Domain)
+    'page_compression', // Variable-provided (Domain)
+    'preprocess_css', // Variable-provided (Domain)
+    'preprocess_js', // Variable-provided (Domain)
+
+    /*
+     * User module
+     */
+
+    // User registration settings. Group 'user_settings'
+    'user_register', //?? Variable-provided (Domain)
+    'user_email_verification', //?? Variable-provided (Domain)
+    'user_registration_help', //?? Variable-provided (Domain+Language)
+
+    // User e-mail settings. Group 'user_mails'.
+    'user_mail_register_admin_created_[mail_part]', //?? Variable-provided (Domain+Language)
+    'user_mail_register_no_approval_required_[mail_part]', //?? Variable-provided (Domain+Language)
+    'user_mail_register_pending_approval_[mail_part]', //?? Variable-provided (Domain+Language)
+    'user_mail_password_reset_[mail_part]', //?? Variable-provided (Domain+Language)
+    'user_mail_status_activated_[mail_part]', //?? Variable-provided (Domain+Language)
+    'user_mail_status_activated_notify', //?? Variable-provided (Domain)
+    'user_mail_status_blocked_[mail_part]', //?? Variable-provided (Domain+Language)
+    'user_mail_status_blocked_notify', //?? Variable-provided (Domain)
+    'user_mail_cancel_confirm_[mail_part]', //?? Variable-provided (Domain+Language)
+    'user_mail_status_canceled_[mail_part]', //?? Variable-provided (Domain+Language)
+    'user_mail_status_deleted_notify', //?? Variable-provided (Domain)
+
+    // User signatures. Group 'user_settings'
+    'user_signatures', //?? Variable-provided (Domain)
+
+    // Picture support. Group 'user_settings'
+    'user_pictures', //?? Variable-provided (Domain)
+    'user_picture_path', //?? Variable-provided (Domain)
+    'user_picture_default', //?? Variable-provided (Domain)
+    'user_picture_dimensions', //?? Variable-provided (Domain+Language)
+    'user_picture_file_size', //?? Variable-provided (Domain)
+    'user_picture_guidelines', //?? Variable-provided (Domain+Language)
+
+    /*
+     * Locale module
+     */
+
+    // Regional settings. Group 'regional_settings'
+    'language_default', // Standard (Domain)
+
+    // Node Type settings. Group 'node_type_settings'
+    'language_content_type_[node_type]', //?? Variable-provided (Domain)
+
+    /*
+     * Menu module
+     */
+
+    // Menu settings. Group 'menu_settings'
+    'menu_main_links_source', // Standard (Domain)
+    'menu_secondary_links_source', // Standard (Domain)
+
+    // Per content type options. Group 'node_type_settings'.
+    'menu_parent_[node_type]', //?? Standard (Domain)
+    'menu_options_[node_type]', //?? Standard (Domain)
+
+    /*
+     * Node module
+     */
+
+    // Per content type options. Group 'node_type_settings'.
+    'teaser_length_[node_type]', //?? Variable-provided (Domain)
+    'node_preview_[node_type]', //?? Variable-provided (Domain)
+    'node_options_[node_type]', //?? Variable-provided (Domain)
+    'node_submitted_[node_type]', //?? Variable-provided (Domain)
+
+    /*
+     * Forum module
+     */
+
+    // Per forum options. Group 'forum_settings'.
+    'forum_hot_topic', //?? Variable-provided (Domain)
+    'forum_per_page', //?? Variable-provided (Domain)
+    'forum_order', //?? Variable-provided (Domain)
+    'forum_nav_vocabulary', //?? Variable-provided (Domain)
+    'forum_containers', //?? Variable-provided (Domain)
+
   );
+
   foreach ($list as $name) {
     if (isset($variables[$name])) {
       $variables[$name]['multidomain'] = TRUE;
     }
   }
+
+  return $variables;
 }
 
 /**
  * Implements hook_variable_settings_form_alter().
  */
 function domain_variable_variable_settings_form_alter(&$form, &$form_state, $form_id) {
+  // Load the form
   module_load_include('form.inc', 'variable_realm');
+  // Load the variable realm
   $controller = variable_realm_controller('domain');
   if ($variables = $controller->getEnabledVariables()) {
     // Set element #prefix to correct subdomain for path-related variables
diff --git a/domain_variable_i18n/domain_variable_i18n.admin.inc b/domain_variable_i18n/domain_variable_i18n.admin.inc
new file mode 100644
index 0000000..0cb9934
--- /dev/null
+++ b/domain_variable_i18n/domain_variable_i18n.admin.inc
@@ -0,0 +1,21 @@
+<?php
+/**
+ * @file
+ * Domain manager i18n configuration options.
+ *
+ * Provides admin screens for configuration overrides.
+ * @ingroup domain_variable_i18n
+ */
+
+
+/**
+ * Variables settings form
+ */
+function domain_variable_i18n_admin_variables($domain) {
+  global $language;
+  // Build the realm key with the domain_id and language_id
+  $realm_key = _domain_variable_realm_key($domain) . ':' . $language->language;
+  // Load the form
+  module_load_include('form.inc', 'variable_realm');
+  return drupal_get_form('variable_realm_edit_variables_form', 'domain_language', $realm_key);
+}
diff --git a/domain_variable_i18n/domain_variable_i18n.domain.inc b/domain_variable_i18n/domain_variable_i18n.domain.inc
new file mode 100644
index 0000000..2ab7b36
--- /dev/null
+++ b/domain_variable_i18n/domain_variable_i18n.domain.inc
@@ -0,0 +1,29 @@
+<?php
+/**
+ * @file
+ * Domain hooks for Domain Conf.
+ *
+ * @ingroup domain_variable_i18n
+ */
+
+ 
+/**
+ * Implements hook_domain_batch().
+ *
+ * @todo can we make this work again?
+ */
+function domain_variable_domain_i18n_batch() {
+}
+
+/**
+ * Implements hook_domain_delete().
+ */
+function domain_variable_domain_i18n_delete($domain, $form_values = array()) {
+  $languages = language_list('enabled');
+  foreach ($languages[1] as $language) {
+    // Build the realm key with the domain_id and language_id
+    $realm_key = _domain_variable_realm_key($domain) . ':' . $language->language;
+    // Delete the variable
+    variable_store_delete_all('domain_language', $realm_key);
+  }
+}
diff --git a/domain_variable_i18n/domain_variable_i18n.module b/domain_variable_i18n/domain_variable_i18n.module
index 7a74773..8f6b6f9 100644
--- a/domain_variable_i18n/domain_variable_i18n.module
+++ b/domain_variable_i18n/domain_variable_i18n.module
@@ -4,6 +4,17 @@
  * I18n + Domain Variables Integration module
  */
 
+
+/**
+ * Implements hook_language_init().
+ *
+ * Create realm during bootstrap but let it there until it will get the key set
+ * after domain and language are initialized using hook_variable_realm_switch().
+ */
+function domain_variable_i18n_language_init() {
+  variable_realm_initialize('domain_language');
+}
+
 /**
  * Implements hook_variable_realm_info().
  */
@@ -20,15 +31,56 @@ function domain_variable_i18n_variable_realm_info() {
     'form switcher' => FALSE,
     'variable name' => t('multilingual domain'),
   );
+
   return $realm;
 }
 
 /**
- * Implements hook_language_init().
+ * Implements hook_menu()
+ */
+function domain_variable_i18n_menu() {
+  $items = array();
+  // Page for editing all variables
+  $items['admin/structure/domain/view/%domain/variables'] = array(
+    'title' => 'Variables',
+    'description' => 'Edit all domain-specific variables',
+    'type' => MENU_LOCAL_TASK,
+    'access arguments' => array('administer domains'),
+    'page callback' => 'domain_variable_i18n_admin_variables',
+    'page arguments' => array(4),
+    'file' => 'domain_variable_i18n.admin.inc',
+  );
+
+  return $items;
+}
+
+/**
+ * Load a variable specific to a domain.
  *
- * Create realm during bootstrap but let it there until it will get the key set
- * after domain and language are initialized using hook_variable_realm_switch().
+ * @param $domain_id
+ *   The unique domain ID that is being edited.
+ * @param $variable
+ *   The name of the variable you wish to get.
+ * @param $all
+ *   A boolean flag indicating whether to return the entire variable array.
+ * @param $reset
+ *   A boolean flag to reset the static variable array for the domain. Useful
+ *   if you are changing variables during a page request.
+ * @return
+ *   The value of the variable for that domain, or NULL if not set,
+ *   or an array of variables, in the case of $all.
  */
-function domain_variable_i18n_language_init() {
-  variable_realm_initialize('domain_language');
+function domain_variable_i18n_get($domain_id, $variable = '', $all = FALSE, $reset = FALSE) {
+  $realm_key = _domain_variable_realm_key($domain_id);
+  if ($reset) {
+    // Reinitialize the variable realm from stored values.
+    $variables = variable_store('domain_language', $realm_key);
+    variable_realm_add('domain_language', $realm_key, $variables);
+  }
+  if ($all) {
+    return variable_store('domain_language', $realm_key);
+  }
+  else {
+    return variable_store_get('domain_language', $realm_key, $variable);
+  }
 }
diff --git a/domain_variable_i18n/domain_variable_i18n.variable.inc b/domain_variable_i18n/domain_variable_i18n.variable.inc
new file mode 100644
index 0000000..0017808
--- /dev/null
+++ b/domain_variable_i18n/domain_variable_i18n.variable.inc
@@ -0,0 +1,168 @@
+<?php
+/**
+ * @file
+ * Variable module hooks for domain_variable_i18n.
+ */
+
+
+/**
+ * Implements hook_variable_info_alter().
+ *
+ * Only variables which have the "multidomain" property set to TRUE, can be
+ * used as domain specific variables. Here we set this property for a set of
+ * default system variables.
+ *
+ * @see _domain_variable_variable_realm_list()
+ */
+function domain_variable_i18n_variable_info_alter(&$variables, $options) {
+  $list = array(
+
+    /*
+     * System module
+     */
+
+    // Site configuration. Group 'site_information'.
+    'site_name', // Standard (Domain+Language)
+    //'site_mail', // Standard (Domain)
+    'site_slogan', // Standard (Domain+Language)
+    'anonymous', // Standard (Domain+Language)
+    'site_frontpage', // Standard (Domain+Language)
+    //'default_nodes_main', // Variable-provided (Domain)
+    'site_403', // Variable-provided (Domain+Language)
+    'site_404', // Variable-provided (Domain+Language)
+
+    // Feed settings. Group 'feed_settings'.
+    'feed_description', // Variable-provided (Domain+Language)
+    //'feed_default_items', // Variable-provided (Domain)
+    //'feed_item_length', // Variable-provided (Domain)
+
+    // Regional settings. Group 'regional_settings'.
+    //'site_default_country', // Variable-provided (Domain)
+    'date_first_day', // Variable-provided (Domain+Language)
+    //'date_default_timezone', // Standard (Domain)
+    //'configurable_timezones', // Variable-provided (Domain)
+    //'empty_timezone_message', // Variable-provided (Domain)
+    'user_default_timezone', // Variable-provided (Domain+Language)
+    //'date_format_[date_type]', //?? Variable-provided (Domain)
+
+    // Maintenance mode. Group 'site_information'.
+    //'maintenance_mode', // Standard (Domain)
+    'maintenance_mode_message', // Standard (Domain+Language)
+
+    // Theme settings. Group 'theme_settings'.
+    'theme_settings', // Standard (Domain+Language)
+    'theme_[theme]_settings', // Standard (Domain+Language)
+    //'admin_theme', //? Domain-provided (Domain+Language)
+
+    // Performance options. Group 'system_performance'.
+    //'cache', // Standard (Domain)
+    //'block_cache', // Variable-provided (Domain)
+    //'cache_lifetime', // Standard (Domain)
+    //'page_cache_maximum_age', // Variable-provided (Domain)
+    //'page_compression', // Variable-provided (Domain)
+    //'preprocess_css', // Variable-provided (Domain)
+    //'preprocess_js', // Variable-provided (Domain)
+
+    /*
+     * User module
+     */
+
+    // User registration settings. Group 'user_settings'
+    //'user_register', //?? Variable-provided (Domain)
+    //'user_email_verification', //?? Variable-provided (Domain)
+    'user_registration_help', //?? Variable-provided (Domain+Language)
+
+    // User e-mail settings. Group 'user_mails'.
+    'user_mail_register_admin_created_[mail_part]', //?? Variable-provided (Domain+Language)
+    'user_mail_register_no_approval_required_[mail_part]', //?? Variable-provided (Domain+Language)
+    'user_mail_register_pending_approval_[mail_part]', //?? Variable-provided (Domain+Language)
+    'user_mail_password_reset_[mail_part]', //?? Variable-provided (Domain+Language)
+    'user_mail_status_activated_[mail_part]', //?? Variable-provided (Domain+Language)
+    //'user_mail_status_activated_notify', //?? Variable-provided (Domain)
+    'user_mail_status_blocked_[mail_part]', //?? Variable-provided (Domain+Language)
+    //'user_mail_status_blocked_notify', //?? Variable-provided (Domain)
+    'user_mail_cancel_confirm_[mail_part]', //?? Variable-provided (Domain+Language)
+    'user_mail_status_canceled_[mail_part]', //?? Variable-provided (Domain+Language)
+    //'user_mail_status_deleted_notify', //?? Variable-provided (Domain)
+
+    // User signatures. Group 'user_settings'
+    //'user_signatures', //?? Variable-provided (Domain)
+
+    // Picture support. Group 'user_settings'
+    //'user_pictures', //?? Variable-provided (Domain)
+    //'user_picture_path', //?? Variable-provided (Domain)
+    //'user_picture_default', //?? Variable-provided (Domain)
+    'user_picture_dimensions', //?? Variable-provided (Domain+Language)
+    //'user_picture_file_size', //?? Variable-provided (Domain)
+    'user_picture_guidelines', //?? Variable-provided (Domain+Language)
+
+    /*
+     * Locale module
+     */
+
+    // Regional settings. Group 'regional_settings'
+    //'language_default', // Standard (Domain)
+
+    // Node Type settings. Group 'node_type_settings'
+    //'language_content_type_[node_type]', //?? Variable-provided (Domain)
+
+    /*
+     * Menu module
+     */
+
+    // Menu settings. Group 'menu_settings'
+    //'menu_main_links_source', // Standard (Domain)
+    //'menu_secondary_links_source', // Standard (Domain)
+
+    // Per content type options. Group 'node_type_settings'.
+    //'menu_parent_[node_type]', //?? Standard (Domain)
+    //'menu_options_[node_type]', //?? Standard (Domain)
+
+    /*
+     * Node module
+     */
+
+    // Per content type options. Group 'node_type_settings'.
+    //'teaser_length_[node_type]', //?? Variable-provided (Domain)
+    //'node_preview_[node_type]', //?? Variable-provided (Domain)
+    //'node_options_[node_type]', //?? Variable-provided (Domain)
+    //'node_submitted_[node_type]', //?? Variable-provided (Domain)
+
+    /*
+     * Forum module
+     */
+
+    // Per forum options. Group 'forum_settings'.
+    //'forum_hot_topic', //?? Variable-provided (Domain)
+    //'forum_per_page', //?? Variable-provided (Domain)
+    //'forum_order', //?? Variable-provided (Domain)
+    //'forum_nav_vocabulary', //?? Variable-provided (Domain)
+    //'forum_containers', //?? Variable-provided (Domain)
+
+  );
+
+  foreach ($list as $name) {
+    if (isset($variables[$name])) {
+      $variables[$name]['multidomain'] = TRUE;
+    }
+  }
+
+  return $variables;
+}
+
+/**
+ * Implements hook_variable_settings_form_alter().
+ */
+function domain_variable_i18n_variable_settings_form_alter(&$form, &$form_state, $form_id) {
+  // Load the form
+  module_load_include('form.inc', 'variable_realm');
+  // Load the variable realm
+  $controller = variable_realm_controller('domain');
+  if ($variables = $controller->getEnabledVariables()) {
+    // Set element #prefix to correct subdomain for path-related variables
+    if ($url_variables = array_intersect($variables, array('site_frontpage', 'site_403', 'site_404'))) {
+      $domain = domain_machine_name_load($controller->getKey());
+      _domain_variable_variable_settings_fix_url_labels($form, $url_variables, $domain);
+    }
+  }
+}
