diff --git a/fts_benchmarking_tool.py b/fts_benchmarking_tool.py
index 1c56780c5f9f99113af9c819a3b532d3d10278ba..a34adee49f4516f01bb8f73ae76574cb3015c407 100755
--- a/fts_benchmarking_tool.py
+++ b/fts_benchmarking_tool.py
@@ -8,6 +8,9 @@ parser.add_argument('--load', type=int, help='load on the system', required=True
 parser.add_argument('--db', type=str, help='name of the database', required=True)
 parser.add_argument('--endpoint', type=str, help='db endpoint', required=True)
 parser.add_argument('--workload', type=str, help='workload a or b or c', required=True)
+parser.add_argument('--pk', type=str, help='primary key for dynamodb', required=False)
+parser.add_argument('--tablename', type=str, help='table name for dynamodb', required=False)
+parser.add_argument('--region', type=str, help='region', required=False)
 args = parser.parse_args()
 
 max_vms = args.max_vms
@@ -15,30 +18,41 @@ load = args.load
 db = args.db
 endpoint = args.endpoint
 workload = args.workload
+pk = args.pk
+tablename = args.tablename
+region = args.region
 
 
 def get_load_command(db, load, vm):
     ret =[]
     if db=="redis":
-        for thread in [10, 50, 100, 500]:
+        for thread in [10,50,100,500]:
             threads=thread//vm
             ret.append("./bin/ycsb load redis -p recordcount={} -p redis.host='{}' -p redis.port=6379 -P workloads/workload{} -p redis.cluster=true > /tmp/redis_load_out_{}_{}.txt".format(load//vm, endpoint, workload, threads, vm))
     elif db=="memcached":
-        for thread in [10, 50, 100, 500]:
+        for thread in [10,50,100,500]:
             threads=thread//vm
             ret.append("./bin/ycsb load memcached -p recordcount={} -P workloads/workload{} -p memcached.hosts={}:11211> /tmp/memcached_load_out_{}_{}.txt".format(load//vm, workload, endpoint, threads, vm))
+    elif db=="dynamodb":
+        for thread in [10,50,100,500]:
+            threads=thread//vm
+            ret.append("./bin/ycsb load dynamodb -s -p recordcount={} -p dynamodb.endpoint='{}' -P workloads/workload{} -p dynamodb.primaryKey={} -p dynamodb.tablename={} -p dynamodb.region={} > /tmp/dynamodb_load_out_{}_{}.txt".format(load//vm, endpoint, workload, pk, tablename, region, threads, vm))
     return ret[0]
 
 def get_run_command(db, load, vm):
     ret =[]
     if db=="redis":
-        for thread in [10, 50, 100, 500]:
+        for thread in [10,50,100,500]:
             threads=thread//vm
             ret.append("./bin/ycsb run redis -p operationcount={} -p redis.host='{}' -p redis.port=6379 -P workloads/workload{} -p redis.cluster=true> /tmp/redis_run_out_{}_{}.txt".format(load//vm, endpoint, workload, threads, vm))
     elif db=="memcached":
-        for thread in [10, 50, 100, 500]:
+        for thread in [10,50,100,500]:
             threads=thread//vm
             ret.append("./bin/ycsb run memcached -p operationcount={} -P workloads/workload{} -p memcached.hosts={}:11211> /tmp/memcached_run_out_{}_{}.txt".format(load//vm, workload, endpoint, threads, vm))
+    elif db=="dynamodb":
+        for thread in [10,50,100,500]:
+            threads=thread//vm
+            ret.append("./bin/ycsb run dynamodb -p operationcount={} -p dynamodb.endpoint='{}' -P workloads/workload{} -p dynamodb.primaryKey={} -p dynamodb.tablename={} -p dynamodb.region={} > /tmp/dynamodb_run_out_{}_{}.txt".format(load//vm, endpoint, workload, pk, tablename, region, threads, vm))
     return ret
 
 
@@ -48,14 +62,13 @@ for vm in range(1,max_vms+1):
     ips = []
     with open("terraform.tfstate") as tf:
         data=json.load(tf)
+        print("data ---->",data)
         ips = json.loads(data["outputs"]["ec2_public_ip"]["value"])
     for thread in [10, 50, 100, 500]:
         threads=thread//vm
         for ip in ips:
             rep_ip = ip.replace(".","_")
             if thread==10//vm:
-                os.system("sudo scp -o StrictHostKeyChecking=no -i cca.pem ec2-user@{}:/tmp/{}_load_out_{}_{}.txt ./{}_load_out_{}_{}_{}.txt".format(ip, db, threads, vm, db, rep_ip, threads, vm))
-            os.system("sudo scp -o StrictHostKeyChecking=no -i cca.pem ec2-user@{}:/tmp/{}_run_out_{}_{}.txt ./{}_run_out_{}_{}_{}.txt".format(ip, db, threads, vm, db, rep_ip, threads, vm))
-    os.system("sudo terraform destroy -var='instance_count={}' -var='runcmd1={}' -var='runcmd2={}' -var='runcmd3={}' -var='runcmd4={}' -var='loadcmd={}' -auto-approve".format(vm, run_commands[0], run_commands[1], run_commands[2], run_commands[3], get_load_command(db, load, vm)))
-
-os.system("sudo python3 Graphs.py")
\ No newline at end of file
+                os.system("sudo scp -o StrictHostKeyChecking=no -i ycsb-key-pair.pem ec2-user@{}:/tmp/{}_load_out_{}_{}.txt ./{}_load_out_{}_{}_{}.txt".format(ip, db, threads, vm, db, rep_ip, threads, vm))
+            os.system("sudo scp -o StrictHostKeyChecking=no -i ycsb-key-pair.pem ec2-user@{}:/tmp/{}_run_out_{}_{}.txt ./{}_run_out_{}_{}_{}.txt".format(ip, db, threads, vm, db, rep_ip, threads, vm))
+    os.system("sudo terraform destroy -var='instance_count={}' -var='runcmd1={}' -var='runcmd2={}' -var='runcmd3={}' -var='runcmd4={}' -var='loadcmd={}' -auto-approve".format(vm, run_commands[0], run_commands[1], run_commands[2], run_commands[3], get_load_command(db, load, vm)))
\ No newline at end of file
diff --git a/main.tf b/main.tf
index 46f115830fa05b7c4017cfeaf96e0f540809a160..373f99dc37f42657b9dc5a0ba0ea941d879df036 100644
--- a/main.tf
+++ b/main.tf
@@ -25,60 +25,42 @@ variable "loadcmd" {
 
 
 provider "aws" {
-  access_key = ""
-  secret_key = ""
-  region     = "us-east-2"
+  access_key = "AKIAYJPIDJWHZID2HUUK"
+  secret_key = "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"
+  region     = "us-east-1"
 }
 
-# resource "aws_security_group" "allowallfts" {
-#   name_prefix = "allowallfts"
-
-#   ingress {
-#     from_port   = 0
-#     to_port     = 65535
-#     protocol    = "tcp"
-#     cidr_blocks = ["0.0.0.0/0"]
-#   }
-
-#   egress {
-#     from_port   = 0
-#     to_port     = 65535
-#     protocol    = "tcp"
-#     cidr_blocks = ["0.0.0.0/0"]
-#   }
-# }
-
 resource "aws_instance" "test_master" {
   count         = var.instance_count
-  ami           = "ami-06d5c50c30a35fb88"
+  ami           = "ami-06a0cd9728546d178"
   instance_type = "t2.medium"
-  key_name      = "cca"
+  key_name      = "ycsb-key-pair"
   vpc_security_group_ids = [
-    "sg-0c8877cfa1f19cd8a"
+    "sg-0b48727ff340e3719"
   ]
 
   connection {
     type        = "ssh"
     user        = "ec2-user"
-    private_key = file("cca.pem")
+    private_key = file("ycsb-key-pair.pem")
     host        = self.public_ip
   }
 
   provisioner "remote-exec" {
-    inline = [
-      "set -e",
-      "sudo yum install -y telnet python37 maven",
-      "sudo amazon-linux-extras install java-openjdk11 -y",
-      "sudo curl -O --location https://github.com/brianfrankcooper/YCSB/releases/download/0.17.0/ycsb-0.17.0.tar.gz",
-      "sudo tar xfvz ycsb-0.17.0.tar.gz",
-      "cd ycsb-0.17.0",
-      "${var.loadcmd}",
-      "${var.runcmd1}",
-      "${var.runcmd2}",
-      "${var.runcmd3}",
-      "${var.runcmd4}"
-    ]
-  }
+  inline = [
+    "set -e",
+    "sudo yum install -y telnet python3 maven",
+    "sudo amazon-linux-extras install java-openjdk11 -y",
+    "sudo curl -O --location https://github.com/brianfrankcooper/YCSB/releases/download/0.17.0/ycsb-0.17.0.tar.gz",
+    "sudo tar xfvz ycsb-0.17.0.tar.gz",
+    "cd ycsb-0.17.0",
+    "${var.loadcmd}",
+    "${var.runcmd1}",
+    "${var.runcmd2}",
+    "${var.runcmd3}",
+    "${var.runcmd4}"
+  ]
+}
 }
 
 output "ec2_public_ip" {