diff --git a/pykat/optics/fft.py b/pykat/optics/fft.py
index 6ceb32d84061d8e1dbd179c0115c300d29a9763a..929429d5b9ad68bfb1d0ed296a3b601446207266 100644
--- a/pykat/optics/fft.py
+++ b/pykat/optics/fft.py
@@ -15,10 +15,6 @@ from __future__ import unicode_literals
 import numpy as np
 import math
 
-def FFT_apply_map(field, Map, Lambda):
-	k=2.0*np.pi/Lambda
-	return field*np.exp(-1j * k * Map.data*Map.scaling);
-
 def apply_lens(field, grid, Lambda, f):
 	# apply a phase factor representing a lens
 	k= 2.0*np.pi/Lambda
@@ -28,7 +24,7 @@ def apply_thin_lens(field, grid, Lambda, f):
 	# apply a phase factor representing a thin lens
 	k= 2.0*np.pi/Lambda
 	return field*(np.exp(1.0 * 1j * k * grid.r_squared/(2.0*f)))
-
+	
 def FFT_propagate(field, grid, Lambda, distance, nr):
 	# FFT propagation code in a fixed grid
 
diff --git a/pykat/utilities/plotting/tools.py b/pykat/utilities/plotting/tools.py
index 35e46f25f43e1778f2ce531723973db64a78e2c2..2ddd950bbd36ca645dc58521b4e109c4c0174643 100644
--- a/pykat/utilities/plotting/tools.py
+++ b/pykat/utilities/plotting/tools.py
@@ -30,6 +30,37 @@ def printPDF(fig, filename):
 		pdfp.savefig(fig, dpi=300,bbox_inches='tight')
 		pdfp.close()
 
+def plot_field(field):
+	ax,fig=plot_setup()
+	im = ax.imshow(np.abs(field),origin='lower', aspect='auto')
+	cb = fig.colorbar(im, format="%.4g")
+	#cb.set_clim(-1.0*zlimit, zlimit) 
+	ax.autoscale(False)
+	plt.show(block=0)
+
+def plot_propagation(field, grid, Lambda, axis, normalise, Lrange, nr):
+	# axis = 0 for x and =1 for y crosssection
+	# if normalise = 1, each slice is normalises to peak intensity
+	[n,m]=field.shape
+	slices = np.zeros((n,np.size(Lrange)))
+	from pykat.optics.fft import FFT_propagate
+	for idx, L in enumerate(Lrange):
+		field2 = FFT_propagate(field,grid, Lambda, L, nr)
+		if axis==0:
+			slices[:,idx]=np.abs(field2[:,int(m/2)])**2
+		else:
+			slices[:,idx]=np.abs(field2[int(n/2),:])**2
+		if normalise==1:
+			peak_intensity= np.abs(field2[int(n/2),int(m/2)])**2
+			slices[:,idx]=slices[:,idx]/peak_intensity
+	ax,fig=plot_setup()
+	im = ax.imshow(slices, aspect='auto')
+	cb = fig.colorbar(im, format="%.4g")
+	#cb.set_clim(-1.0*zlimit, zlimit) 
+	ax.autoscale(False)
+	plt.show(block=0)
+
+			
 def plot_power_contour(x,y,z,xlabel, ylabel, clabel, title='', filename=''):
 	ax,fig=plot_setup()
 	xm,ym=np.meshgrid(x,y)
@@ -54,7 +85,6 @@ def plot_power_contour(x,y,z,xlabel, ylabel, clabel, title='', filename=''):
 	printPDF(fig, filename)
 
 
-
 	
 def plot_error_contour(x,y,z,xlabel, ylabel, clabel, title='', filename=''):
 	global fig, ax, cb, ct, data