diff --git a/roles/enable_modules/tasks/main.yml b/roles/enable_modules/tasks/main.yml
index 4676f706030c27b4b86e35a342e26fb3ae9ad74b..f6e4b9c1b66d2f60a6bd07a037c86719f716d5e1 100644
--- a/roles/enable_modules/tasks/main.yml
+++ b/roles/enable_modules/tasks/main.yml
@@ -1,33 +1,49 @@
 ---
-- include_vars: "{{ ansible_os_family }}.yml"
-
-- name: install lua
-  yum: name={{ item }} state=installed
-  with_items:
-    - lua
-    - lua-filesystem
-    - lua-posix
-  sudo: true
-  when: ansible_os_family == 'RedHat'
-
-- name: install lua
-  apt: name={{ item }} state=installed
-  with_items:
-    - lua5.2
-    - lua5.2
-    - lua-filesystem
-    - lua-bitop
-    - lua-posix
-    - liblua5.2-0
-    - liblua5.2-dev
-    - tcl
-  sudo: true
-  when: ansible_os_family == 'Debian'
-
-- name: link bash
-  file: src={{ soft_dir }}/lmod/lmod/init/bash dest=/etc/profile.d/lmod.sh state=link
-  sudo: true
-
-- name: link csh
-  file: src={{ soft_dir }}/lmod/lmod/init/cshrc dest=/etc/profile.d/lmod.csh state=link
-  sudo: true
+
+- name: template lmod bash
+  template: src=lmod.sh.j2 dest=/etc/profile.d/lmod.sh 
+  become: true
+  become_user: root
+  when: default_modules == "lmod"
+
+- name: template lmod csh
+  template: src=lmod.csh.j2 dest=/etc/profile.d/lmod.csh
+  become: true
+  become_user: root
+  when: default_modules == "lmod"
+
+- name: remove modulecmd bash
+  file: path=/etc/profile.d/modulecmd.sh state=absent
+  become: true
+  become_user: root
+  when: default_modules == "lmod"
+
+- name: remove modulcmd csh
+  file: path=/etc/profile.d/modulecmd.csh state=absent
+  become: true
+  become_user: root
+  when: default_modules == "lmod"
+
+- name: template modulecmd bash
+  template: src=modulecmd.sh.j2 dest=/etc/profile.d/modulecmd.sh
+  become: true
+  become_user: root
+  when: default_modules == "modulecmd"
+
+- name: template modulecmd csh
+  template: src=modulecmd.csh.j2 dest=/etc/profile.d/modulecmd.csh
+  become: true
+  become_user: root
+  when: default_modules == "modulecmd"
+
+- name: remove lmod bash
+  file: path=/etc/profile.d/lmod.sh state=absent
+  become: true
+  become_user: root
+  when: default_modules == "modulecmd"
+
+- name: remove modulcmd csh
+  file: path=/etc/profile.d/lmod.csh state=absent
+  become: true
+  become_user: root
+  when: default_modules == "modulecmd"
diff --git a/roles/enable_modules/vars/Debian.yml b/roles/enable_modules/vars/Debian.yml
deleted file mode 100644
index f1a8d1448746c5492a52b1e29983120d6faf9831..0000000000000000000000000000000000000000
--- a/roles/enable_modules/vars/Debian.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-lua_include: /usr/include/lua5.2
diff --git a/roles/enable_modules/vars/RedHat.yml b/roles/enable_modules/vars/RedHat.yml
deleted file mode 100644
index 533e08b0df15750498e38a23db460db834944a9b..0000000000000000000000000000000000000000
--- a/roles/enable_modules/vars/RedHat.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-lua_include: /usr/local
diff --git a/roles/enable_modules/vars/main.yml b/roles/enable_modules/vars/main.yml
index b6b95b3ccc9b22614562a7e1024d76d10802f4a4..de6283efbd0f6268d50c3856e1cd7869560412d9 100644
--- a/roles/enable_modules/vars/main.yml
+++ b/roles/enable_modules/vars/main.yml
@@ -1,4 +1,5 @@
 ---
 source_dir: /tmp
-soft_dir: /opt/lmod/
+lmoddir: /opt/lmod
+modulecmddir: /usr/share
 lmod_version: 5.8.6