diff --git a/tsm-archive/tasks/main.yml b/tsm-archive/tasks/main.yml
index ee494bf743eb4781f9b045229a88609dee5a93c2..0c490f0c31711d326d6dabd3ba7bb4ce2225332e 100644
--- a/tsm-archive/tasks/main.yml
+++ b/tsm-archive/tasks/main.yml
@@ -1,5 +1,5 @@
 ---
-# file: roles/tsm-archive/tasks/main.yml
+# file: tsm-archive/tasks/main.yml
 
 - name: ensure deployment of our config
   template: src=dsm.sys.j2 dest=/opt/tivoli/tsm/client/ba/bin/dsm.sys
diff --git a/tsm-archive/templates/dsm.sys.j2 b/tsm-archive/templates/dsm.sys.j2
index f9ba92afa02bac9c116e4751d13007012613b24b..13a2817c8ebf433216201cd3635c98106f7c0336 100644
--- a/tsm-archive/templates/dsm.sys.j2
+++ b/tsm-archive/templates/dsm.sys.j2
@@ -8,10 +8,10 @@
 * TSM-Server und Ports ermitteln und eintragen
 * z.B. TSM-Server b06.rz.rwth-aachen.de (Port 1506)
 * ---------------------------------------------------------------
-DEFAULTSERVER                 bas{{ archivenode }}.itc.rwth-aachen.de
-SERVERNAME                    bas{{ archivenode }}.itc.rwth-aachen.de
-TCPSERVERADDRESS              bas{{ archivenode }}.itc.rwth-aachen.de
-TCPPORT                       {{ archiveport|default('15' ~ archivenode) }}
+DEFAULTSERVER                 bas{{ tsm_node }}.itc.rwth-aachen.de
+SERVERNAME                    bas{{ tsm_node }}.itc.rwth-aachen.de
+TCPSERVERADDRESS              bas{{ tsm_node }}.itc.rwth-aachen.de
+TCPPORT                       {{ tsm_port|default('15' ~ tsm_node) }}
 
 
 * Die folgenden 4 Eintrage unveraendert lassen
@@ -26,7 +26,7 @@ TXNBYTELIMIT                  25600
 * im TSM-Server registriert ist. Der NODENAME wird beim 
 * Anlegen eines neuen Knotens ueber das Backup-Portal gesetzt.
 * ----------------------------------------------------------------
-NODENAME                      {{ archivename }}
+NODENAME                      {{ tsm_name }}
 
 
 * Logfiles
diff --git a/tsm-backup/defaults/main.yml b/tsm-backup/defaults/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6e60e6c9387e3e328753c6386a1288f360fd7242
--- /dev/null
+++ b/tsm-backup/defaults/main.yml
@@ -0,0 +1,7 @@
+---
+tsm_backup_domains: ['/']
+tsm_backup_virtual: []
+tsm_backup_includes: []
+tsm_backup_excludes: []
+tsm_backup_include_dirs: []
+tsm_backup_exclude_dirs: []
diff --git a/tsm-backup/handlers/main.yml b/tsm-backup/handlers/main.yml
index 015475d017ae762980cd9aa25908795720d24210..102c39845b3b54b7353e7fed00bf309c39141e5a 100644
--- a/tsm-backup/handlers/main.yml
+++ b/tsm-backup/handlers/main.yml
@@ -1,5 +1,5 @@
 ---
-# file: roles/tsm-backup/handlers/main.yml
+# file: tsm-backup/handlers/main.yml
 
 - name: reload systemd service files
   command: systemctl daemon-reload
diff --git a/tsm-backup/tasks/main.yml b/tsm-backup/tasks/main.yml
index d274a194da65e228d37e630681960ee74d185c8f..2c838b3962d26c73d89b79df996ed5a5c4c71d04 100644
--- a/tsm-backup/tasks/main.yml
+++ b/tsm-backup/tasks/main.yml
@@ -1,5 +1,5 @@
 ---
-# file: roles/tsm-backup/tasks/main.yml
+# file: tsm-backup/tasks/main.yml
 
 - name: ensure systemd service file is available
   copy: src=dsmc.service dest=/etc/systemd/system/dsmc.service
@@ -10,6 +10,8 @@
     - config
     - service
 
+- meta: flush_handlers
+
 - name: ensure deployment of our config
   template: src=dsm.sys.j2 dest=/opt/tivoli/tsm/client/ba/bin/dsm.sys
   notify:
diff --git a/tsm-backup/templates/dsm.sys.j2 b/tsm-backup/templates/dsm.sys.j2
index b8fbb841d8e2941475020714f16ba991b6196e49..68bb967c62c06c8691d0e1eb45ede3eb0059c503 100644
--- a/tsm-backup/templates/dsm.sys.j2
+++ b/tsm-backup/templates/dsm.sys.j2
@@ -8,10 +8,10 @@
 * TSM-Server und Ports ermitteln und eintragen
 * z.B. TSM-Server b06.rz.rwth-aachen.de (Port 1506)
 * ---------------------------------------------------------------
-DEFAULTSERVER                 bas{{ backupnode }}.itc.rwth-aachen.de
-SERVERNAME                    bas{{ backupnode }}.itc.rwth-aachen.de
-TCPSERVERADDRESS              bas{{ backupnode }}.itc.rwth-aachen.de
-TCPPORT                       {{ backupport|default('15' ~ backupnode) }}
+DEFAULTSERVER                 bas{{ tsm_node }}.itc.rwth-aachen.de
+SERVERNAME                    bas{{ tsm_node }}.itc.rwth-aachen.de
+TCPSERVERADDRESS              bas{{ tsm_node }}.itc.rwth-aachen.de
+TCPPORT                       {{ tsm_port|default('15' ~ tsm_node) }}
 
 * Die folgenden 4 Eintrage unveraendert lassen
 * ---------------------------------------------------------------
@@ -25,7 +25,7 @@ TXNBYTELIMIT                  25600
 * im TSM-Server registriert ist. Der NODENAME wird beim 
 * Anlegen eines neuen Knotens ueber das Backup-Portal gesetzt.
 * ----------------------------------------------------------------
-NODENAME                      {{ backupname }}
+NODENAME                      {{ tsm_name }}
 
 
 * Logfiles
@@ -48,10 +48,11 @@ ERRORLOGRETENTION             365 D
 * ist, muss zusaetzlich als VIRTUALMOUNTPOINT deklariert
 * werden.
 * ----------------------------------------------------------------
-{% for vmp in backupvmps %}
+{% for vmp in tsm_backup_virtual %}
 VIRTUALMOUNTPOINT	{{ vmp }}
 {% endfor %}
-{% for domain in backupdomains %}
+
+{% for domain in tsm_backup_domains %}
 DOMAIN			{{ domain }}
 {% endfor %}
 
@@ -76,11 +77,19 @@ DOMAIN			{{ domain }}
 
 EXCLUDE.DIR '/var/cache/apt/'
 
-{% for excludedir in backupexcludedirs %}
+{% for excludedir in tsm_backup_exclude_dirs %}
 EXCLUDE.DIR '{{ excludedir }}'
 {% endfor %}
 
-{% for include in backupincludes %}
+{% for exclude in tsm_backup_excludes %}
+EXCLUDE '{{ exclude }}'
+{% endfor %}
+
+{% for includedir in tsm_backup_include_dirs %}
+INCLUDE.DIR {{ includedir }}
+{% endfor %}
+
+{% for include in tsm_backup_includes %}
 INCLUDE {{ include }}
 {% endfor %}
 
diff --git a/tsm-client/handlers/main.yml b/tsm-client/handlers/main.yml
index eac3f5c36823881ac0e7568d204ade3632a6edc3..1ac72ff09f26a8b5bac0add8b2a088efb705757f 100644
--- a/tsm-client/handlers/main.yml
+++ b/tsm-client/handlers/main.yml
@@ -1,6 +1,6 @@
 ---
-# file: roles/tsm-client/handlers/main.yml
+# file: tsm-client/handlers/main.yml
 
-- name: ldconfig tsm
-  command: ldconfig
+- name: update apt cache
+  apt: update_cache=yes
 
diff --git a/tsm-client/tasks/main.yml b/tsm-client/tasks/main.yml
index 9b63bc645652e0afe73e406bdc1e138c0ac4cff2..401b1d262f5fa4f24fb5f2793ae4410a0974b54f 100644
--- a/tsm-client/tasks/main.yml
+++ b/tsm-client/tasks/main.yml
@@ -1,76 +1,32 @@
 ---
-# file: roles/tsm-client/tasks/main.yml
+# file: tsm-client/tasks/main.yml
 
-- name: ensure apt https transport is available for our repo
-  apt: name=apt-transport-https state=latest
+- name: ensure apt https transport is available
+  apt: name=apt-transport-https state=installed
+  when: tsm_repo|truncate(5, True, '', 0) == "https"
   tags:
     - tsm
     - repos
     - packages
 
-- name: ensure fsmpi-repo-key is in keyring
-  apt_key: data="{{ lookup('file', 'repo.gpg') }}" state=present
+- name: ensure repo key is in keyring
+  apt_key: data="{{ lookup('file', tsm_repo_pubkey) }}" state=present
   tags:
     - tsm
     - repos
 
-- name: ensure the fsmpi-repo is activated
-  apt_repository: repo='deb [arch=amd64] https://www-intern.fsmpi.rwth-aachen.de/debian tivoli7 main' state=present
-  tags:
-    - tsm
-    - repos
-
-- name: ensure the http fsmpi-repo is deactivated
-  apt_repository: repo='deb [arch=amd64] http://www-intern.fsmpi.rwth-aachen.de/debian tivoli7 main' state=absent
-  tags:
-    - tsm
-    - repos
-
-- name: update apt cache and upgrade existing packages
-  apt: update_cache=yes upgrade=dist
-  tags:
-    - tsm
-    - packages
-    - deb-updates
-
-- name: ensure old tsm6 dependend packages are absent
-  apt: name={{ item }} state=absent
-  with_items:
-    - ksh
-    - alien
-    - libssl0.9.8
-    - gskssl=8.0-15.36
-    - gskcrypt64=8.0-15.36
-    - tivsm-ba=6.4.2-1
-    - tivsm-api64=6.4.2-1
-  tags:
-    - packages
-    - tsm
-
-- name: ensure tsm6 packages dir is absent
-  file: path=/root/tsm state=absent
-  tags:
-    - packages
-    - tsm
-
-- name: ensure special dsmc script is in place
-  copy: src=dsmc dest=/usr/local/bin/dsmc mode=0755 owner=root group=root
-  tags:
-    - tsm
-    - config
-
-- name: ensure special ldconfig is absent
-  file: path=/etc/ld.so.conf.d/tsm-ld.so.conf state=absent
+- name: ensure repo is activated
+  apt_repository: repo="deb [arch=amd64] {{ tsm_repo }}" state=present
   notify:
-    - ldconfig tsm
+    - update apt cache
   tags:
     - tsm
-    - config
+    - repos
 
 - meta: flush_handlers
 
-- name: ensure the tsm7 packages are installed 
-  apt: name={{ item }} state=latest
+- name: ensure the tsm packages are installed 
+  apt: name={{ item }} state=installed
   with_items:
     - gskssl64
     - gskcrypt64
@@ -86,4 +42,9 @@
     - tsm
     - config
 
-- meta: flush_handlers
+- name: ensure special dsmc script is in place
+  copy: src=dsmc dest=/usr/local/bin/dsmc mode=0755 owner=root group=root
+  tags:
+    - tsm
+    - config
+