diff --git a/Makefile b/Makefile
index ebce8175a55a82205d6f42cbfefad78c3c684530..209ae99238d9182765b9d1f670ba5d9ee330ba72 100644
--- a/Makefile
+++ b/Makefile
@@ -3,8 +3,10 @@
 all: mkdirs 
 	cd FFTlib		; $(MAKE)
 	cd fdelmodc		; $(MAKE) install
+	cd fdelmodc3D		; $(MAKE) install
 	cd utils		; $(MAKE) install
 	cd marchenko		; $(MAKE) install
+	cd marchenko3D		; $(MAKE) install
 	cd corrvir		; $(MAKE) install
 	cd raytime		; $(MAKE) install
 	cd MDD			; $(MAKE) install
@@ -17,8 +19,10 @@ mkdirs:
 clean:
 	cd FFTlib 		; $(MAKE) $@
 	cd fdelmodc		; $(MAKE) $@
+	cd fdelmodc3D		; $(MAKE) $@
 	cd utils		; $(MAKE) $@
 	cd marchenko		; $(MAKE) $@
+	cd marchenko3D		; $(MAKE) $@
 	cd corrvir		; $(MAKE) $@
 	cd raytime		; $(MAKE) $@
 	cd MDD			; $(MAKE) $@
@@ -26,8 +30,10 @@ clean:
 realclean:
 	cd FFTlib 		; $(MAKE) $@
 	cd fdelmodc		; $(MAKE) $@
+	cd fdelmodc3D		; $(MAKE) $@
 	cd utils		; $(MAKE) $@
 	cd marchenko		; $(MAKE) $@
+	cd marchenko3D		; $(MAKE) $@
 	cd corrvir		; $(MAKE) $@
 	cd raytime		; $(MAKE) $@
 	cd MDD			; $(MAKE) $@
diff --git a/fdelmodc3D/fdelmodc3D b/fdelmodc3D/fdelmodc3D
index 7fd32fbba9bd29bbbedf15be688a851a8c6c8fee..cdfa636fc5c87c6ed8961e34db637db53fb08adb 100755
Binary files a/fdelmodc3D/fdelmodc3D and b/fdelmodc3D/fdelmodc3D differ
diff --git a/marchenko/demo/twoD/marchenko_ray.scr b/marchenko/demo/twoD/marchenko_ray.scr
new file mode 100755
index 0000000000000000000000000000000000000000..f6728fdc7a86b1b9cc444d9c1342905fdc45c0bb
--- /dev/null
+++ b/marchenko/demo/twoD/marchenko_ray.scr
@@ -0,0 +1,19 @@
+#!/bin/bash -x
+
+export PATH=$HOME/src/OpenSource/bin:$PATH:
+
+makewave w=fw fmin=0 flef=5 frig=80 fmax=100 nt=1024 dt=0.004 t0=0.0 scale=0 scfft=1 file_out=wavesrc.su
+makewave w=g2 fp=25 nt=1024 dt=0.004 t0=0.0 scale=1 scfft=0 file_out=wavefp.su
+
+export OMP_NUM_THREADS=40
+
+#apply the Marchenko algorithm
+marchenko3D file_shot=shots/refl_rp.su verbose=1 \
+    tap=0 niter=6 hw=8 shift=7 smooth=3 geomspread=1 ampest=1 \
+    file_ray=raysrc_time.su file_amp=raysrc_amp.su file_wav=wavesrc.su \
+    file_green=greensrc.su
+
+marchenko3D file_shot=shots/refl_rp.su verbose=1 file_inp=greensrc.su \
+    tap=0 niter=6 hw=8 shift=7 smooth=3 geomspread=1 ampest=1 \
+    file_ray=rayz_time.su file_amp=rayz_amp.su file_wav=wavefp.su \
+    file_homg=homg_rayz.su file_green=green_rayz.su
diff --git a/marchenko/demo/twoD/rayvsp.scr b/marchenko/demo/twoD/rayvsp.scr
new file mode 100755
index 0000000000000000000000000000000000000000..f822d5fec0f8d710ee579be5920ccb38808db089
--- /dev/null
+++ b/marchenko/demo/twoD/rayvsp.scr
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+export PATH=$HOME/src/OpenSource/bin:$PATH:
+
+Raytime \
+    verbose=1 useT2=1 geomspread=1 file_rcv=raysrc.su \
+    zsrc=1000 xrcv1=-3000 xrcv2=3000 dxrcv=10 file_cp=syncl_cp.su zrcv1=0 zrcv2=0 \
+    xsrc=0 nxshot=1 nzshot=1 dxshot=10 dzshot=10 nraystep=25 method=fd
+
+Raytime \
+    verbose=1 useT2=1 geomspread=1 file_rcv=rayz.su \
+    zsrc=100 xrcv1=-3000 xrcv2=3000 dxrcv=10 file_cp=syncl_cp.su zrcv1=0 zrcv2=0 \
+    xsrc=0 nxshot=1 nzshot=181 dxshot=10 dzshot=10 nraystep=25 method=fd