diff --git a/pm-rtl.css b/pm-rtl.css
deleted file mode 100644
index e62c530..0000000
--- a/pm-rtl.css
+++ /dev/null
@@ -1,140 +0,0 @@
-table.formgroup tr td {
-  padding-right: 0px;
-  padding-left: 5px;
-}
-
-th.pm_list_operations {
-  text-align: left;
-}
-
-td.pm_list_operations {
-  text-align: left;
-}
-
-div.pm_popup_title {
-  float: right;
-}
-
-ul.pm_quick_shortcuts li {
-  float: right;
-  margin: 0 0 1pt 1pt;
-}
-
-div.pmdashboard {
-  float: right;
-}
-
-dt.pmcomponent {
-  padding-right: 40px;
-}
-
-dt.pmcomponent a {
-  margin-left: 5px;
-}
-
-dt#pmorganizations {
-  background: transparent url(images/organizations.png) no-repeat top right;
-}
-
-dt#pmprojects {
-  background: transparent url(images/projects.png) no-repeat top right;
-}
-
-dt#pmtasks {
-  background: transparent url(images/tasks.png) no-repeat top right;
-}
-
-dt#pmtickets {
-  background: transparent url(images/tickets.png) no-repeat top right;
-}
-
-dt#pmpeople {
-  background: transparent url(images/people.png) no-repeat top right;
-}
-
-dt#pmteammembers {
-  background: transparent url(images/teammembers.png) no-repeat top right;
-}
-
-dt#pmknowledgebase {
-  background: transparent url(images/knowledgebase.png) no-repeat top right;
-}
-
-dt#pmtimetrackings {
-  background: transparent url(images/timetrackings.png) no-repeat top right;
-}
-
-dt#pmnotes {
-  background: transparent url(images/notes.png) no-repeat top right;
-}
-
-dt#pminvoices {
-  background: transparent url(images/invoices.png) no-repeat top right;
-}
-
-dt#pmexpenses {
-  background: transparent url(images/expenses.png) no-repeat top right;
-}
-
-dt#pmconfiguration {
-  background: transparent url(images/configuration.png) no-repeat top right;
-}
-
-div.pmcomponent {
-  overflow: hidden;
-}
-
-div.pmcomponent #fields {
-  float: right;
-}
-
-div.pmcomponent #fields div.label {
-  float: right;
-  text-align: left;
-  clear: right;
-}
-
-div.pmcomponent #fields div.value {
-  float: right;
-  margin-right: 4px;
-}
-
-div.pmcomponent #links {
-  float: left;
-}
-
-div.pmcomponent #links div {
-  padding-right: 34px;
-}
-
-div.pmcomponent div.projects {
-  background: transparent url(images/projects.png) no-repeat top right;
-}
-
-div.pmcomponent div.people {
-  background: transparent url(images/people.png) no-repeat top right;
-}
-
-div.pmcomponent div.tickets {
-  background: transparent url(images/tickets.png) no-repeat top right;
-}
-
-div.pmcomponent div.invoices {
-  background: transparent url(images/invoices.png) no-repeat top right;
-}
-
-div.pmcomponent div.notes {
-  background: transparent url(images/notes.png) no-repeat top right;
-}
-
-div.pmcomponent div.timetrackings {
-  background: transparent url(images/timetrackings.png) no-repeat top right;
-}
-
-div.pmcomponent div.print_html {
-  background: transparent url(images/html.png) no-repeat top right;
-}
-
-div.pmcomponent div.print_pdf {
-  background: transparent url(images/pdf.png) no-repeat top right;
-}
diff --git a/pm.install b/pm.install
index 9be4a27..5d409df 100644
--- a/pm.install
+++ b/pm.install
@@ -79,3 +79,15 @@ function pm_update_7200() {
   }
   variable_del('pm_icons_display');
 }
+
+/**
+ * Remove legacy variables related to taxation.
+ */
+function pm_update_7201() {
+  variable_del('pm_tax1_app');
+  variable_del('pm_tax1_name');
+  variable_del('pm_tax1_percent');
+  variable_del('pm_tax2_app');
+  variable_del('pm_tax2_name');
+  variable_del('pm_tax2_percent');
+}
\ No newline at end of file
diff --git a/pm.module b/pm.module
index a2d74db..eaedb5c 100644
--- a/pm.module
+++ b/pm.module
@@ -343,99 +343,6 @@ function pm_admin_settings() {
     '#weight' => $w++,
   );
 
-  $form['taxation'] = array(
-    '#type' => 'fieldset',
-    '#title' => t('Taxation defaults'),
-    '#collapsed' => TRUE,
-    '#collapsible' => TRUE,
-    '#weight' => $w++,
-  );
-
-  $form['taxation']['pm_tax1_app'] = array(
-    '#type' => 'select',
-    '#title' => t('Tax 1: Application'),
-    '#default_value' => variable_get('pm_tax1_app', 1),
-    '#description' => t('The method of application to use for Tax 1'),
-    '#options' => array(
-      1 => t('Apply to item amount'),
-      0 => t('Do not apply tax'),
-    ),
-    '#weight' => $w++,
-  );
-
-  $form['taxation']['group0'] = array(
-    '#type' => 'markup',
-    '#weight' => $w++,
-  );
-
-  $form['taxation']['group0']['pm_tax1_name'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Tax 1: Name'),
-    '#default_value' => variable_get('pm_tax1_name', 'VAT'),
-    '#description' => t('The name to use for Tax 1'),
-    '#weight' => $w++,
-  );
-
-  $form['taxation']['group0']['pm_tax1_percent'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Tax 1: Default percentage'),
-    '#default_value' => variable_get('pm_tax1_percent', 20),
-    '#description' => t('Default percentage for Tax 1'),
-    '#size' => 20,
-    '#weight' => $w++,
-  );
-
-  $form['taxation']['pm_tax2_app'] = array(
-    '#type' => 'select',
-    '#title' => t('Tax 2: Application'),
-    '#default_value' => variable_get('pm_tax2_app', 0),
-    '#description' => t('The method of application to use for Tax 2'),
-    '#options' => array(
-      2 => t('Apply to total of item amount plus previous tax'),
-      1 => t('Apply to item amount'),
-      0 => t('Do not apply tax'),
-    ),
-    '#weight' => $w++,
-  );
-
-  $form['taxation']['group1'] = array(
-    '#type' => 'markup',
-    '#weight' => $w++,
-  );
-
-  $form['taxation']['group1']['pm_tax2_name'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Tax 2: Name'),
-    '#default_value' => variable_get('pm_tax2_name', 'Tax 2 Name'),
-    '#description' => t('The name to use for Tax 2'),
-    '#weight' => $w++,
-  );
-
-  $form['taxation']['group1']['pm_tax2_percent'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Tax 2: Default percentage'),
-    '#default_value' => variable_get('pm_tax2_percent', 20),
-    '#description' => t('Default percentage for Tax 2'),
-    '#size' => 20,
-    '#weight' => $w++,
-  );
-
-  $form['taxation']['pm_tax_display'] = array(
-    '#type' => 'checkbox',
-    '#title' => t('Display tax edit fields'),
-    '#default_value' => variable_get('pm_tax_display', TRUE),
-    '#description' => t('If disabled, all tax fields will use the default values and you will not be able to override them for any nodes until this setting is enabled again.'),
-    '#weight' => $w++,
-  );
-
-  $form['taxation']['pm_tax2_display'] = array(
-    '#type' => 'checkbox',
-    '#title' => t('Display tax 2 edit fields'),
-    '#default_value' => variable_get('pm_tax2_display', TRUE),
-    '#description' => t('If disabled, tax 2 fields will use the default values and you will not be able to override them for any nodes until this setting is enabled again. This setting will be ignored unless the general "Display tax edit fields" setting is enabled above.'),
-    '#weight' => $w++,
-  );
-
   // Dashboard settings.
   $form['pm_dashboard_settings'] = array(
     '#type' => 'fieldset',
@@ -520,61 +427,6 @@ function pm_admin_settings_form_submit($form, $form_state) {
 }
 
 /**
- * Calculates taxation for Project Management nodes.
- */
-function pm_taxation(&$node) {
-  // If values are not set, then use default values.
-  if (!isset($node->tax1app)) {
-    $node->tax1app = variable_get('pm_tax1_app', 'none');
-  }
-  if (!isset($node->tax1percent)) {
-    $node->tax1percent = variable_get('pm_tax1_percent', '20');
-  }
-  if (!isset($node->tax2app)) {
-    $node->tax2app = variable_get('pm_tax2_app', 'none');
-  }
-  if (!isset($node->tax2percent)) {
-    $node->tax2percent = variable_get('pm_tax2_percent', '20');
-  }
-
-  switch ($node->tax1app) {
-    case 0:
-      $node->tax1 = 0;
-      break;
-
-    case 1:
-      $node->tax1 = $node->amount * $node->tax1percent / 100;
-      break;
-
-    default:
-      // Error.
-      drupal_set_message(t('Error during tax calculations (Project Management module)'), 'error');
-  }
-
-  $node->subtotal = $node->amount + $node->tax1;
-
-  switch ($node->tax2app) {
-    case 0:
-      $node->tax2 = 0;
-      break;
-
-    case 1:
-      $node->tax2 = $node->amount * $node->tax2percent / 100;
-      break;
-
-    case 2:
-      $node->tax2 = $node->subtotal * $node->tax2percent / 100;
-      break;
-
-    default:
-      // Error.
-      drupal_set_message(t('Error during tax calculations (Project Management module)'), 'error');
-  }
-
-  $node->total = $node->subtotal + $node->tax2;
-}
-
-/**
  * Provides an add icon for Project Management nodes.
  */
 function pm_icon_add_node($node, $params = array()) {
@@ -905,183 +757,6 @@ function pm_helper_get_fa_icon($key, $default_class = 'fa_wrench') {
 }
 
 /**
- * Get a list of people and teams for select boxes.
- *
- * Params:
- *  $organization_nid
- *    Leave blank to get a list of all teams and persons, otherwise also
- *    provide
- *  $project_nid
- *    to get a limited list of teams and persons following the following logic:
- *    - If the project is assigned to a person, only that person is listed as
- *      an option
- *    - If the project is assigned to a team, all team members are listed as
- *      options
- *    - If the project is neither assigned to a person nor a team, all people
- *      that are assigned to the given organization are listed as options
- *    - In addition, if the project is assigned to a manager, that person is
- *      also listed
- *    - Finally, look into all existing teams and list those teams that
- *      exclusively contain members that are already selected
- *    If $organization_nid is provided but $project_nid is omitted, then the
- *    logic is as above, just for all projects of the given organization.
- */
-function pm_get_assignment_options($organization_nid = 0, $project_nid = 0) {
-  $teams = t('Teams:');
-  $people = t('People:');
-  $options = array();
-  if (!$organization_nid) {
-    $options['all'] = t('- no filter -');
-    $options['mine'] = t('- mine -');
-  }
-  $options[0] = t('- unassigned -');
-  if (module_exists('pmteam')) {
-    $options[$teams] = array();
-  }
-  if (module_exists('pmperson')) {
-    $options[$people] = array();
-  }
-  $add_org_people = TRUE;
-  if ($organization_nid) {
-    $add_org_people = FALSE;
-    $manager = array();
-    $projects = array();
-    if ($project_nid) {
-      $projects[] = $project_nid;
-    }
-    else {
-      $query = db_select('node', 'n');
-      $query->join('pmproject', 'pro', 'n.vid = pro.vid');
-      $query
-        ->fields('n', array('nid'))
-        ->condition('n.status', 1)
-        ->condition('n.type', 'pmproject')
-        ->condition('pro.organization_nid', $organization_nid)
-        ->addTag('node_access');
-      $result = $query->execute();
-
-      foreach ($result as $project) {
-        $projects[] = $project->nid;
-      }
-      $add_org_people = TRUE;
-    }
-    foreach ($projects as $pid) {
-      $project = node_load($pid);
-      if ($project->manager_nid) {
-        $manager[] = node_load($project->manager_nid);
-      }
-      if ($project->assigned_nid) {
-        $node = node_load($project->assigned_nid);
-        if ($node->type == 'pmperson') {
-          if (module_exists('pmperson')) {
-            $options[$people][$node->nid] = check_plain($node->title);
-          }
-        }
-        // Else implies that node is a team.
-        else {
-          if (module_exists('pmteam')) {
-            $options[$teams][$node->nid] = check_plain($node->title);
-            foreach ($node->members_array as $nid => $name) {
-              // Do not add deactivated persons.
-              if (!array_key_exists($nid, $node->members_deactivated_array)) {
-                $options[$people][$nid] = check_plain($name);
-              }
-            }
-          }
-        }
-      }
-      else {
-        $add_org_people = TRUE;
-      }
-    }
-  }
-  if ($add_org_people) {
-    if (module_exists('pmperson')) {
-      $query = db_select('node', 'n');
-      $query->join('pmperson', 'per', 'n.vid = per.vid');
-      $query
-        ->fields('n', array('title'))
-        ->fields('per', array('nid'))
-        ->addTag('node_access')
-        ->orderBy('title', 'ASC');
-
-      if (isset($organization_nid) && $organization_nid != 0) {
-        $query->condition('per.organization_nid', $organization_nid);
-      }
-
-      $result = $query->execute();
-
-      foreach ($result as $person) {
-        $options[$people][$person->nid] = check_plain($person->title);
-        if (empty($options[$people][$person->nid])) {
-          $options[$people][$person->nid] = t('Person !nid', array('!nid' => $person->nid));
-        }
-      }
-    }
-  }
-  else {
-    if (isset($manager) && module_exists('pmperson')) {
-      foreach ($manager as $manager_node) {
-        if (!array_key_exists($manager_node->nid, $options[$people])) {
-          $options[$people][$manager_node->nid] = check_plain($manager_node->title);
-        }
-      }
-    }
-  }
-  if (module_exists('pmteam')) {
-    $query = db_select('node', 'n');
-    $query->join('pmteam', 'team', 'n.vid = team.vid');
-    $query
-      ->fields('n', array('nid', 'vid', 'title'))
-      ->condition('n.type', 'pmteam')
-      ->addTag('node_access')
-      ->groupBy('team.nid')
-      ->orderBy('title', 'ASC');
-
-    // Do not add teams that have already been added.
-    if (!empty($options[$teams])) {
-      $query->condition('team.nid', $options[$teams], 'NOT IN');
-    }
-    // Only add teams that have at least the same members as persons we added
-    // so far.
-    if (!empty($organization_nid) && !empty($options[$people])) {
-      // Add all persons that should be in the team.
-      $query->condition('team.mnid', array_keys($options[$people]), 'IN');
-      // Add a count, how many of the given persons should be in the other
-      // teams.
-      $count = count($options[$people]);
-      $query->having('count(team.nid) = :count', array(':count' => $count));
-    }
-    $result = $query->execute();
-    foreach ($result as $team) {
-      $options[$teams][$team->nid] = check_plain($team->title);
-    }
-  }
-  if (isset($options[$people]) && array_key_exists(0, $options[$people])) {
-    unset($options[$people][0]);
-  }
-  if (isset($options[$teams]) && array_key_exists(0, $options[$teams])) {
-    unset($options[$teams][0]);
-  }
-  if (isset($options[$people]) && !count($options[$people])) {
-    unset($options[$people]);
-  }
-  if (isset($options[$teams]) && !count($options[$teams])) {
-    unset($options[$teams]);
-  }
-
-  // Sort options.
-  if (!empty($options[$people]) && is_array($options[$people])) {
-    asort($options[$people], SORT_LOCALE_STRING);
-  }
-  if (!empty($options[$teams]) && is_array($options[$teams])) {
-    asort($options[$teams], SORT_LOCALE_STRING);
-  }
-
-  return $options;
-}
-
-/**
  * Helper function to return nid of particular bundle in hierarchy.
  *
  * @param object $node
