updated to handle a collection
diff --git a/tasks/main.yml b/tasks/main.yml
index f85c382..00c27dc 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -5,18 +5,7 @@
     msg: "Please provide the server_types"
   when: server_types is not defined
 
-- name: Obtain server self report for {{ server_type }}
-  ignore_errors: yes
-  opdk_server_self:
-    server_type: '{{ item }}'
-    username: '{{ opdk_user_email }}'
-    password: '{{ opdk_user_pass }}'
-  with_items: '{{ server_types }}'
-
-- name: Construct self report variable name
-  set_fact:
-    self_report_name: 'edge_{{ server_type }}_self'
-
-- name: Server self attributes report
-  debug:
-    msg: "{{ hostvars[inventory_hostname][self_report_name] }}"
\ No newline at end of file
+- include: server_type.yml
+  with_items:  '{{ server_types }}'
+  loop_control:
+    loop_var: server_type
diff --git a/tasks/server_type.yml b/tasks/server_type.yml
new file mode 100644
index 0000000..761c791
--- /dev/null
+++ b/tasks/server_type.yml
@@ -0,0 +1,15 @@
+---
+- name: Obtain server self report for {{ server_type }}
+  ignore_errors: yes
+  opdk_server_self:
+    server_type: '{{ server_type }}'
+    username: '{{ opdk_user_email }}'
+    password: '{{ opdk_user_pass }}'
+
+- name: Construct self report variable name
+  set_fact:
+    self_report_name: 'edge_{{ server_type }}_self'
+
+- name: Server self attributes report
+  debug:
+    msg: "{{ hostvars[inventory_hostname][self_report_name] }}"
\ No newline at end of file