diff --git a/openstack-tf/d4s-dev/smart_executor_nodes/.terraform.lock.hcl b/openstack-tf/d4s-dev/accounting-service/.terraform.lock.hcl
similarity index 100%
rename from openstack-tf/d4s-dev/smart_executor_nodes/.terraform.lock.hcl
rename to openstack-tf/d4s-dev/accounting-service/.terraform.lock.hcl
diff --git a/openstack-tf/d4s-dev/accounting-service/main.tf b/openstack-tf/d4s-dev/accounting-service/main.tf
new file mode 100644
index 0000000..2f8e849
--- /dev/null
+++ b/openstack-tf/d4s-dev/accounting-service/main.tf
@@ -0,0 +1,42 @@
+# Define required providers
+terraform {
+  required_version = ">= 0.14.0"
+  required_providers {
+    openstack = {
+      source  = "terraform-provider-openstack/openstack"
+      version = "~> 1.53.0"
+    }
+  }
+}
+
+data "terraform_remote_state" "privnet_dns_router" {
+  backend = "local"
+
+  config = {
+    path = "../project-setup/terraform.tfstate"
+  }
+}
+
+
+module "smartgears_service_generic" {
+  source = "../../modules/generic_smartgears_service"
+
+  smartgears_service_instances_map = {
+    accounting_service_1 = {
+      name              = "accounting-service-1",
+      description       = "This instance serves accounting service",
+      flavor            = "m1.medium",
+      networks          = ["d4s-dev-cloud-main", "timescaledb-net"],
+      security_groups   = ["default", "http and https from the load balancers"]
+      block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV
+    },
+    accounting_service_2 = {
+      name              = "accounting-service-2",
+      description       = "This instance serves accounting service",
+      flavor            = "m1.medium",
+      networks          = ["d4s-dev-cloud-main", "timescaledb-net"],
+      security_groups   = ["default", "http and https from the load balancers"]
+      block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV
+    }
+  }
+}
diff --git a/openstack-tf/d4s-dev/accounting-service/provider.tf b/openstack-tf/d4s-dev/accounting-service/provider.tf
new file mode 100644
index 0000000..fa7a121
--- /dev/null
+++ b/openstack-tf/d4s-dev/accounting-service/provider.tf
@@ -0,0 +1,3 @@
+provider "openstack" {
+  cloud = "d4s-dev"
+}
diff --git a/openstack-tf/d4s-dev/gcat/.terraform.lock.hcl b/openstack-tf/d4s-dev/gcat/.terraform.lock.hcl
new file mode 100644
index 0000000..46d2bb6
--- /dev/null
+++ b/openstack-tf/d4s-dev/gcat/.terraform.lock.hcl
@@ -0,0 +1,24 @@
+# This file is maintained automatically by "terraform init".
+# Manual edits may be lost in future updates.
+
+provider "registry.terraform.io/terraform-provider-openstack/openstack" {
+  version     = "1.53.0"
+  constraints = "~> 1.53.0"
+  hashes = [
+    "h1:ZSJPqrlaHQ3sj7wyJuPSG+NblFZbAA6Y0d3GjSJf3o8=",
+    "zh:09da7ca98ffd3de7b9ce36c4c13446212a6e763ba1162be71b50f95d453cb68e",
+    "zh:14041bcbb87312411d88612056ed185650bfd01284b8ea0761ce8105a331708e",
+    "zh:35bf4c788fdbc17c8e40ebc7b33c7de4b45a2fa2efaa657b10f0e3bd37c9627f",
+    "zh:46ede8ef4cfa12d654c538afc1e1ec34a1f3e8eb4e986ee23dceae398b7176a6",
+    "zh:59675734990dab1e8d87997853ea75e8104bba730b3f5a7146ac735540c9d6bf",
+    "zh:6de52428849806498670e827b54810be7510a2a79449602c1aede4235a0ec036",
+    "zh:78b2a20601272afceffac8f8ca78a6b647b84196c0dd8dc710fae297f6be15a4",
+    "zh:7c41ed3a4fac09677e676ecf9f9edd1e38eef449e656cb01a848d2c799c6de8f",
+    "zh:852800228f4118a4aa6cfaa4468b851247cbed6f037fd204f08de69eb1edc149",
+    "zh:86d618e7f9a07d978b8bc4b190be350a00de64ec535f9c8f5dfe133542a55483",
+    "zh:963a9e72b66d8bcf43de9b14a674ae3ca3719ce2f829217f7a65b66fc3773397",
+    "zh:a8e72ab67795071bda61f99a6de3d2d40122fb51971768fd75e1324abe874ced",
+    "zh:ce1890cf3af17d569af3bc7673cec0a8f78e6f5d701767593f3d29c551f44848",
+    "zh:e6f1b96eb684f527a47f71923f268c86a36d7894751b31ee9e726d7502a639cd",
+  ]
+}
diff --git a/openstack-tf/d4s-dev/gcat/main.tf b/openstack-tf/d4s-dev/gcat/main.tf
new file mode 100644
index 0000000..ff15b8c
--- /dev/null
+++ b/openstack-tf/d4s-dev/gcat/main.tf
@@ -0,0 +1,42 @@
+# Define required providers
+terraform {
+  required_version = ">= 0.14.0"
+  required_providers {
+    openstack = {
+      source  = "terraform-provider-openstack/openstack"
+      version = "~> 1.53.0"
+    }
+  }
+}
+
+data "terraform_remote_state" "privnet_dns_router" {
+  backend = "local"
+
+  config = {
+    path = "../project-setup/terraform.tfstate"
+  }
+}
+
+
+module "smartgears_service_generic" {
+  source = "../../modules/generic_smartgears_service"
+
+  smartgears_service_instances_map = {
+    gcat_1 = {
+      name              = "gcat-1",
+      description       = "This instance serves gcat service",
+      flavor            = "m1.medium",
+      networks          = ["d4s-dev-cloud-main"],
+      security_groups   = ["default", "http and https from the load balancers"]
+      block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV
+    },
+    gcat_2 = {
+      name              = "gcat-2",
+      description       = "This instance serves gcat service",
+      flavor            = "m1.medium",
+      networks          = ["d4s-dev-cloud-main"],
+      security_groups   = ["default", "http and https from the load balancers"]
+      block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV
+    }
+  }
+}
diff --git a/openstack-tf/d4s-dev/gcat/provider.tf b/openstack-tf/d4s-dev/gcat/provider.tf
new file mode 100644
index 0000000..fa7a121
--- /dev/null
+++ b/openstack-tf/d4s-dev/gcat/provider.tf
@@ -0,0 +1,3 @@
+provider "openstack" {
+  cloud = "d4s-dev"
+}
diff --git a/openstack-tf/d4s-dev/grsf-publisher/.terraform.lock.hcl b/openstack-tf/d4s-dev/grsf-publisher/.terraform.lock.hcl
new file mode 100644
index 0000000..46d2bb6
--- /dev/null
+++ b/openstack-tf/d4s-dev/grsf-publisher/.terraform.lock.hcl
@@ -0,0 +1,24 @@
+# This file is maintained automatically by "terraform init".
+# Manual edits may be lost in future updates.
+
+provider "registry.terraform.io/terraform-provider-openstack/openstack" {
+  version     = "1.53.0"
+  constraints = "~> 1.53.0"
+  hashes = [
+    "h1:ZSJPqrlaHQ3sj7wyJuPSG+NblFZbAA6Y0d3GjSJf3o8=",
+    "zh:09da7ca98ffd3de7b9ce36c4c13446212a6e763ba1162be71b50f95d453cb68e",
+    "zh:14041bcbb87312411d88612056ed185650bfd01284b8ea0761ce8105a331708e",
+    "zh:35bf4c788fdbc17c8e40ebc7b33c7de4b45a2fa2efaa657b10f0e3bd37c9627f",
+    "zh:46ede8ef4cfa12d654c538afc1e1ec34a1f3e8eb4e986ee23dceae398b7176a6",
+    "zh:59675734990dab1e8d87997853ea75e8104bba730b3f5a7146ac735540c9d6bf",
+    "zh:6de52428849806498670e827b54810be7510a2a79449602c1aede4235a0ec036",
+    "zh:78b2a20601272afceffac8f8ca78a6b647b84196c0dd8dc710fae297f6be15a4",
+    "zh:7c41ed3a4fac09677e676ecf9f9edd1e38eef449e656cb01a848d2c799c6de8f",
+    "zh:852800228f4118a4aa6cfaa4468b851247cbed6f037fd204f08de69eb1edc149",
+    "zh:86d618e7f9a07d978b8bc4b190be350a00de64ec535f9c8f5dfe133542a55483",
+    "zh:963a9e72b66d8bcf43de9b14a674ae3ca3719ce2f829217f7a65b66fc3773397",
+    "zh:a8e72ab67795071bda61f99a6de3d2d40122fb51971768fd75e1324abe874ced",
+    "zh:ce1890cf3af17d569af3bc7673cec0a8f78e6f5d701767593f3d29c551f44848",
+    "zh:e6f1b96eb684f527a47f71923f268c86a36d7894751b31ee9e726d7502a639cd",
+  ]
+}
diff --git a/openstack-tf/d4s-dev/grsf-publisher/main.tf b/openstack-tf/d4s-dev/grsf-publisher/main.tf
new file mode 100644
index 0000000..9a583e6
--- /dev/null
+++ b/openstack-tf/d4s-dev/grsf-publisher/main.tf
@@ -0,0 +1,42 @@
+# Define required providers
+terraform {
+  required_version = ">= 0.14.0"
+  required_providers {
+    openstack = {
+      source  = "terraform-provider-openstack/openstack"
+      version = "~> 1.53.0"
+    }
+  }
+}
+
+data "terraform_remote_state" "privnet_dns_router" {
+  backend = "local"
+
+  config = {
+    path = "../project-setup/terraform.tfstate"
+  }
+}
+
+
+module "smartgears_service_generic" {
+  source = "../../modules/generic_smartgears_service"
+
+  smartgears_service_instances_map = {
+    grsf_publisher_1 = {
+      name              = "grsf-publisher-1",
+      description       = "This instance serves GRSF Publisher service",
+      flavor            = "m1.medium",
+      networks          = ["d4s-dev-cloud-main"],
+      security_groups   = ["default", "http and https from the load balancers"]
+      block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV
+    },
+    grsf_publisher_2 = {
+      name              = "grsf-publisher-2",
+      description       = "This instance serves GRSF Publisher service",
+      flavor            = "m1.medium",
+      networks          = ["d4s-dev-cloud-main"],
+      security_groups   = ["default", "http and https from the load balancers"]
+      block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV
+    }
+  }
+}
diff --git a/openstack-tf/d4s-dev/grsf-publisher/provider.tf b/openstack-tf/d4s-dev/grsf-publisher/provider.tf
new file mode 100644
index 0000000..fa7a121
--- /dev/null
+++ b/openstack-tf/d4s-dev/grsf-publisher/provider.tf
@@ -0,0 +1,3 @@
+provider "openstack" {
+  cloud = "d4s-dev"
+}
diff --git a/openstack-tf/d4s-dev/resource-registry/.terraform.lock.hcl b/openstack-tf/d4s-dev/resource-registry/.terraform.lock.hcl
new file mode 100644
index 0000000..46d2bb6
--- /dev/null
+++ b/openstack-tf/d4s-dev/resource-registry/.terraform.lock.hcl
@@ -0,0 +1,24 @@
+# This file is maintained automatically by "terraform init".
+# Manual edits may be lost in future updates.
+
+provider "registry.terraform.io/terraform-provider-openstack/openstack" {
+  version     = "1.53.0"
+  constraints = "~> 1.53.0"
+  hashes = [
+    "h1:ZSJPqrlaHQ3sj7wyJuPSG+NblFZbAA6Y0d3GjSJf3o8=",
+    "zh:09da7ca98ffd3de7b9ce36c4c13446212a6e763ba1162be71b50f95d453cb68e",
+    "zh:14041bcbb87312411d88612056ed185650bfd01284b8ea0761ce8105a331708e",
+    "zh:35bf4c788fdbc17c8e40ebc7b33c7de4b45a2fa2efaa657b10f0e3bd37c9627f",
+    "zh:46ede8ef4cfa12d654c538afc1e1ec34a1f3e8eb4e986ee23dceae398b7176a6",
+    "zh:59675734990dab1e8d87997853ea75e8104bba730b3f5a7146ac735540c9d6bf",
+    "zh:6de52428849806498670e827b54810be7510a2a79449602c1aede4235a0ec036",
+    "zh:78b2a20601272afceffac8f8ca78a6b647b84196c0dd8dc710fae297f6be15a4",
+    "zh:7c41ed3a4fac09677e676ecf9f9edd1e38eef449e656cb01a848d2c799c6de8f",
+    "zh:852800228f4118a4aa6cfaa4468b851247cbed6f037fd204f08de69eb1edc149",
+    "zh:86d618e7f9a07d978b8bc4b190be350a00de64ec535f9c8f5dfe133542a55483",
+    "zh:963a9e72b66d8bcf43de9b14a674ae3ca3719ce2f829217f7a65b66fc3773397",
+    "zh:a8e72ab67795071bda61f99a6de3d2d40122fb51971768fd75e1324abe874ced",
+    "zh:ce1890cf3af17d569af3bc7673cec0a8f78e6f5d701767593f3d29c551f44848",
+    "zh:e6f1b96eb684f527a47f71923f268c86a36d7894751b31ee9e726d7502a639cd",
+  ]
+}
diff --git a/openstack-tf/d4s-dev/resource-registry/main.tf b/openstack-tf/d4s-dev/resource-registry/main.tf
new file mode 100644
index 0000000..a7cf0cc
--- /dev/null
+++ b/openstack-tf/d4s-dev/resource-registry/main.tf
@@ -0,0 +1,42 @@
+# Define required providers
+terraform {
+  required_version = ">= 0.14.0"
+  required_providers {
+    openstack = {
+      source  = "terraform-provider-openstack/openstack"
+      version = "~> 1.53.0"
+    }
+  }
+}
+
+data "terraform_remote_state" "privnet_dns_router" {
+  backend = "local"
+
+  config = {
+    path = "../project-setup/terraform.tfstate"
+  }
+}
+
+
+module "smartgears_service_generic" {
+  source = "../../modules/generic_smartgears_service"
+
+  smartgears_service_instances_map = {
+    resource_registry_1 = {
+      name              = "resource-registry-1",
+      description       = "This instance serves resource-registry service",
+      flavor            = "m1.medium",
+      networks          = ["d4s-dev-cloud-main", "orientdb-net"],
+      security_groups   = ["default", "http and https from the load balancers"]
+      block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV
+    },
+    resource_registry_2 = {
+      name              = "resource-registry-1",
+      description       = "This instance serves resource-registry service",
+      flavor            = "m1.medium",
+      networks          = ["d4s-dev-cloud-main", "orientdb-net"],
+      security_groups   = ["default", "http and https from the load balancers"]
+      block_device_uuid = "7ed6a2cd-2b07-482e-8ce4-f018dff16c89" #ubuntu_18_04.uuid of DEV
+    }
+  }
+}
diff --git a/openstack-tf/d4s-dev/resource-registry/provider.tf b/openstack-tf/d4s-dev/resource-registry/provider.tf
new file mode 100644
index 0000000..fa7a121
--- /dev/null
+++ b/openstack-tf/d4s-dev/resource-registry/provider.tf
@@ -0,0 +1,3 @@
+provider "openstack" {
+  cloud = "d4s-dev"
+}
diff --git a/openstack-tf/d4s-dev/smart-executor/.terraform.lock.hcl b/openstack-tf/d4s-dev/smart-executor/.terraform.lock.hcl
new file mode 100644
index 0000000..46d2bb6
--- /dev/null
+++ b/openstack-tf/d4s-dev/smart-executor/.terraform.lock.hcl
@@ -0,0 +1,24 @@
+# This file is maintained automatically by "terraform init".
+# Manual edits may be lost in future updates.
+
+provider "registry.terraform.io/terraform-provider-openstack/openstack" {
+  version     = "1.53.0"
+  constraints = "~> 1.53.0"
+  hashes = [
+    "h1:ZSJPqrlaHQ3sj7wyJuPSG+NblFZbAA6Y0d3GjSJf3o8=",
+    "zh:09da7ca98ffd3de7b9ce36c4c13446212a6e763ba1162be71b50f95d453cb68e",
+    "zh:14041bcbb87312411d88612056ed185650bfd01284b8ea0761ce8105a331708e",
+    "zh:35bf4c788fdbc17c8e40ebc7b33c7de4b45a2fa2efaa657b10f0e3bd37c9627f",
+    "zh:46ede8ef4cfa12d654c538afc1e1ec34a1f3e8eb4e986ee23dceae398b7176a6",
+    "zh:59675734990dab1e8d87997853ea75e8104bba730b3f5a7146ac735540c9d6bf",
+    "zh:6de52428849806498670e827b54810be7510a2a79449602c1aede4235a0ec036",
+    "zh:78b2a20601272afceffac8f8ca78a6b647b84196c0dd8dc710fae297f6be15a4",
+    "zh:7c41ed3a4fac09677e676ecf9f9edd1e38eef449e656cb01a848d2c799c6de8f",
+    "zh:852800228f4118a4aa6cfaa4468b851247cbed6f037fd204f08de69eb1edc149",
+    "zh:86d618e7f9a07d978b8bc4b190be350a00de64ec535f9c8f5dfe133542a55483",
+    "zh:963a9e72b66d8bcf43de9b14a674ae3ca3719ce2f829217f7a65b66fc3773397",
+    "zh:a8e72ab67795071bda61f99a6de3d2d40122fb51971768fd75e1324abe874ced",
+    "zh:ce1890cf3af17d569af3bc7673cec0a8f78e6f5d701767593f3d29c551f44848",
+    "zh:e6f1b96eb684f527a47f71923f268c86a36d7894751b31ee9e726d7502a639cd",
+  ]
+}
diff --git a/openstack-tf/d4s-dev/smart_executor_nodes/dev.auto.tfvars b/openstack-tf/d4s-dev/smart-executor/dev.auto.tfvars
similarity index 100%
rename from openstack-tf/d4s-dev/smart_executor_nodes/dev.auto.tfvars
rename to openstack-tf/d4s-dev/smart-executor/dev.auto.tfvars
diff --git a/openstack-tf/d4s-dev/smart_executor_nodes/main.tf b/openstack-tf/d4s-dev/smart-executor/main.tf
similarity index 70%
rename from openstack-tf/d4s-dev/smart_executor_nodes/main.tf
rename to openstack-tf/d4s-dev/smart-executor/main.tf
index 02de068..a1f4a32 100644
--- a/openstack-tf/d4s-dev/smart_executor_nodes/main.tf
+++ b/openstack-tf/d4s-dev/smart-executor/main.tf
@@ -15,12 +15,4 @@ data "terraform_remote_state" "privnet_dns_router" {
   config = {
     path = "../project-setup/terraform.tfstate"
   }
-}
-
-# module "variables" {
-#   source = "../variables"
-# }
-
-# module "smart_executor_nodes" {
-#   source = "../../modules/smart_executor_nodes"
-# }
+}
\ No newline at end of file
diff --git a/openstack-tf/d4s-dev/smart_executor_nodes/provider.tf b/openstack-tf/d4s-dev/smart-executor/provider.tf
similarity index 100%
rename from openstack-tf/d4s-dev/smart_executor_nodes/provider.tf
rename to openstack-tf/d4s-dev/smart-executor/provider.tf
diff --git a/openstack-tf/d4s-dev/smart-executor/smart-executor.tf b/openstack-tf/d4s-dev/smart-executor/smart-executor.tf
new file mode 120000
index 0000000..6689836
--- /dev/null
+++ b/openstack-tf/d4s-dev/smart-executor/smart-executor.tf
@@ -0,0 +1 @@
+../../modules/smart-executor/smart-executor.tf
\ No newline at end of file
diff --git a/openstack-tf/d4s-dev/smart_executor_nodes/terraform.tfstate b/openstack-tf/d4s-dev/smart-executor/terraform.tfstate
similarity index 100%
rename from openstack-tf/d4s-dev/smart_executor_nodes/terraform.tfstate
rename to openstack-tf/d4s-dev/smart-executor/terraform.tfstate
diff --git a/openstack-tf/d4s-dev/smart-executor/variables-smart-executor.tf b/openstack-tf/d4s-dev/smart-executor/variables-smart-executor.tf
new file mode 120000
index 0000000..ebfa2b2
--- /dev/null
+++ b/openstack-tf/d4s-dev/smart-executor/variables-smart-executor.tf
@@ -0,0 +1 @@
+../../modules/smart-executor/variables-smart-executor.tf
\ No newline at end of file
diff --git a/openstack-tf/d4s-dev/smart_executor_nodes/variables.tf b/openstack-tf/d4s-dev/smart-executor/variables.tf
similarity index 100%
rename from openstack-tf/d4s-dev/smart_executor_nodes/variables.tf
rename to openstack-tf/d4s-dev/smart-executor/variables.tf
diff --git a/openstack-tf/d4s-dev/smart_executor_nodes/smart-executors.tf b/openstack-tf/d4s-dev/smart_executor_nodes/smart-executors.tf
deleted file mode 120000
index dc78aa0..0000000
--- a/openstack-tf/d4s-dev/smart_executor_nodes/smart-executors.tf
+++ /dev/null
@@ -1 +0,0 @@
-../../modules/smart_executor_nodes/smart-executors.tf
\ No newline at end of file
diff --git a/openstack-tf/d4s-dev/smart_executor_nodes/variables-smart-executors.tf b/openstack-tf/d4s-dev/smart_executor_nodes/variables-smart-executors.tf
deleted file mode 120000
index 56bd7b8..0000000
--- a/openstack-tf/d4s-dev/smart_executor_nodes/variables-smart-executors.tf
+++ /dev/null
@@ -1 +0,0 @@
-../../modules/smart_executor_nodes/variables-smart-executors.tf
\ No newline at end of file
diff --git a/openstack-tf/modules/smart_executor_nodes/smart-executors.tf b/openstack-tf/modules/smart-executor/smart-executor.tf
similarity index 100%
rename from openstack-tf/modules/smart_executor_nodes/smart-executors.tf
rename to openstack-tf/modules/smart-executor/smart-executor.tf
diff --git a/openstack-tf/modules/smart_executor_nodes/variables-smart-executors.tf b/openstack-tf/modules/smart-executor/variables-smart-executor.tf
similarity index 100%
rename from openstack-tf/modules/smart_executor_nodes/variables-smart-executors.tf
rename to openstack-tf/modules/smart-executor/variables-smart-executor.tf
diff --git a/openstack-tf/modules/ssh-key-ref/ssh-key-ref-outputs.tf.example b/openstack-tf/modules/ssh-key-ref/ssh-key-ref-outputs.tf.example
index f8210f8..e92be16 100644
--- a/openstack-tf/modules/ssh-key-ref/ssh-key-ref-outputs.tf.example
+++ b/openstack-tf/modules/ssh-key-ref/ssh-key-ref-outputs.tf.example
@@ -1,5 +1,5 @@
 #This file must be renamed as 'ssh-key-ref-outputs.tf'
-#replace the placeholders {YOUR_PRIVATE_KEYNAME} (without .pb) and {YOUR_KEYNAME} with proper values
+#replace the placeholders {YOUR_PRIVATE_KEYNAME} (without .pub) and {YOUR_KEYNAME} with proper values
 
 output "ssh_key_file" {
   value     = "~/.ssh/{YOUR_PRIVATE_KEYNAME}"