diff --git a/BCB/Popescu et al/ex01.c b/BCB/Popescu et al/ex01.c
new file mode 100644
index 0000000000000000000000000000000000000000..93ba122c3570ed8f6c69c8f378d85e27648035cd
--- /dev/null
+++ b/BCB/Popescu et al/ex01.c	
@@ -0,0 +1,6 @@
+unsigned fun1(unsigned x) {
+   unsigned t = 0;
+   if (x < N) {
+     t = b[a[x] * 512];}
+   return t;
+}
diff --git a/BCB/Popescu et al/ex01_secure.c b/BCB/Popescu et al/ex01_secure.c
new file mode 100644
index 0000000000000000000000000000000000000000..f1a754182aaebb272be99b9759da11149b5062ab
--- /dev/null
+++ b/BCB/Popescu et al/ex01_secure.c	
@@ -0,0 +1,7 @@
+unsigned fun2(unsigned x) {
+   unsigned t = 0;
+   if (x < N) {
+      _mm_lfence();
+      t = b[a[x] * 512];}
+   return t; 
+}
diff --git a/BCB/Popescu et al/ex01_secure2.c b/BCB/Popescu et al/ex01_secure2.c
new file mode 100644
index 0000000000000000000000000000000000000000..3c17a167f9e38ce5ec26948ea255863960f97367
--- /dev/null
+++ b/BCB/Popescu et al/ex01_secure2.c	
@@ -0,0 +1,8 @@
+unsigned fun3(unsigned x) {
+   unsigned t = 0; 
+   if (x < N) {
+      unsigned v = a[x];
+      _mm_lfence();
+      t = b[v * 512];}
+   return t;
+}
diff --git a/BCB/Popescu et al/ex_cond.c b/BCB/Popescu et al/ex_cond.c
new file mode 100644
index 0000000000000000000000000000000000000000..4503e2bcb94002861a36c54d4d8fefa69cf641d9
--- /dev/null
+++ b/BCB/Popescu et al/ex_cond.c	
@@ -0,0 +1,7 @@
+unsigned fun4(unsigned x) {
+   unsigned t = 0;
+   if (x < N) {
+      unsigned v = a[0];
+      t = b[v * 512];}
+   return t;
+}