diff --git a/playbooks/group_vars/all b/playbooks/group_vars/all
index faefe4a..04f2525 100644
--- a/playbooks/group_vars/all
+++ b/playbooks/group_vars/all
@@ -3,6 +3,7 @@ app_base_dir: /opt/wwc
 log_base_dir: /mnt/logs
 venv_dir: /opt/edx
 platform_code_dir: $app_base_dir/edx-platform
+os_name: ubuntu
 
 # these pathes are relative to the playbook dir
 # directory for secret settings (keys, etc)
diff --git a/playbooks/roles/lms/tasks/main.yml b/playbooks/roles/lms/tasks/main.yml
index df6aa67..bef70ff 100644
--- a/playbooks/roles/lms/tasks/main.yml
+++ b/playbooks/roles/lms/tasks/main.yml
@@ -76,7 +76,7 @@
 
 ## Install the debian package requirements system-wide
 - name: store remote apt_repos list for ansible use
-  command: cat {{platform_code_dir}}/apt-repos.txt
+  command: cat {{ apt_sources_file }}
   register: apt_repos_list
   tags:
   - lms
@@ -103,7 +103,7 @@
   - install
 
 - name: store remote apt_packages list for ansible use
-  command: cat {{platform_code_dir}}/apt-packages.txt
+  command: cat {{ apt_packages_file }}
   register: apt_packages_list
   tags:
   - lms
@@ -118,25 +118,42 @@
   - cms
   - install
 
-# Install the python requirements into $venv_dir 
-- name : install python pre-requirements
-  pip: requirements="{{platform_code_dir}}/pre-requirements.txt" virtualenv="{{venv_dir}}" state=present
+
+# Install the python modules into {{ venv_dir }}
+- name : install base python packages using the shell
+  # Need to use shell rather than pip so that we can maintain the context of our current working directory; some 
+  # requirements are pathed relative to the edx-platform repo. Using the pip from inside the virtual environment implicitly
+  # installs everything into that virtual environment.
+  shell: cd {{ platform_code_dir }} && {{ venv_dir }}/bin/pip install --use-mirrors -r {{ base_requirements_file }}
+  tags:
+  - lms
+  - cms
+  - install
+  
+  
+# Install the python post requirements into {{ venv_dir }}
+- name : install python post-requirements
+  pip: requirements="{{ post_requirements_file }}" virtualenv="{{venv_dir}}" state=present
   tags:
   - lms
   - cms
   - install
 
-# Install the python modules into $venv_dir 
-- name : install python packages using the shell
-  #pip: requirements="{{platform_code_dir}}/requirements.txt" virtualenv="{{venv_dir}}" 
+# Install the final python modules into {{ venv_dir }}
+- name : install python post-post requirements using the shell
   # Need to use shell rather than pip so that we can maintain the context of our current working directory; some 
   # requirements are pathed relative to the edx-platform repo. Using the pip from inside the virtual environment implicitly
   # installs everything into that virtual environment.
-  shell: cd {{platform_code_dir}} && {{venv_dir}}/bin/pip install --use-mirrors -r {{platform_code_dir}}/requirements.txt
+  shell: cd {{ platform_code_dir }} && {{ venv_dir }}/bin/pip install --use-mirrors -r {{ item }}
+  with_items:
+  - {{ repo_requirements_file }}
+  - {{ github_requirements_file }}
+  - {{ local_requirements_file }}
   tags:
   - lms
   - cms
   - install
   
+
 # Creates LMS upstart file
 - include: ../../gunicorn/tasks/upstart.yml service_variant=lms
diff --git a/playbooks/roles/lms/vars/main.yml b/playbooks/roles/lms/vars/main.yml
index eed1224..ce4c13e 100644
--- a/playbooks/roles/lms/vars/main.yml
+++ b/playbooks/roles/lms/vars/main.yml
@@ -4,6 +4,16 @@
 lms_auth_config: {}
 lms_env_config: {}
 lms_source_repo: git@github.com:edx/edx-platform.git
+
+apt_sources_file:  "{{ platform_code_dir }}/requirements/system/{{os_name}}/apt-repos.txt"
+apt_packages_file: "{{ platform_code_dir }}/requirements/system/{{os_name}}/apt-packages.txt"
+
+local_requirements_file:  "{{ platform_code_dir }}/requirements/local.txt"
+post_requirements_file:   "{{ platform_code_dir }}/requirements/post.txt"
+base_requirements_file:   "{{ platform_code_dir }}/requirements/base.txt"
+github_requirements_file: "{{ platform_code_dir }}/requirements/github.txt"
+repo_requirements_file:   "{{ platform_code_dir }}/requirements/repo.txt"
+
 lms_debian_pkgs:
   - apparmor-utils
   - aspell