diff --git a/pd/src/makefile.in b/pd/src/makefile.in
index 5562efbeaf07a9e579cf40ecc3a8327985b20a82..8cab7c70d74503d4e78a1aa479ade44f39f47471 100644
--- a/pd/src/makefile.in
+++ b/pd/src/makefile.in
@@ -62,7 +62,7 @@ TYPE_PUNNING_SRC = d_ctl.c d_array.c d_delay.c d_filter.c d_math.c d_osc.c d_sou
 
 # these are safe for full gcc 4.x optimization
 OPT_SAFE_SRC = g_canvas.c g_graph.c g_text.c g_rtext.c g_array.c g_template.c g_io.c \
-    g_scalar.c g_traversal.c g_guiconnect.c g_readwrite.c g_editor.c \
+    g_scalar.c g_traversal.c g_guiconnect.c g_readwrite.c g_editor.c g_clone.c \
     g_undo.c g_all_guis.c g_bang.c g_mycanvas.c g_numbox.c \
     g_toggle.c g_vumeter.c g_magicglass.c g_radio.c g_slider.c \
     m_pd.c m_class.c m_obj.c m_atom.c m_memory.c m_binbuf.c \
@@ -74,8 +74,8 @@ OPT_SAFE_SRC = g_canvas.c g_graph.c g_text.c g_rtext.c g_array.c g_template.c g_
     d_fft.c d_global.c \
     d_resample.c \
     x_arithmetic.c x_connective.c x_interface.c x_midi.c x_misc.c \
-    x_time.c x_acoustics.c x_net.c x_qlist.c x_gui.c x_list.c x_preset.c\
-	import.c \
+    x_time.c x_acoustics.c x_net.c x_text.c x_gui.c x_list.c x_array.c x_preset.c\
+	x_vexp.c x_vexp_if.c x_vexp_fun.c import.c \
     $(SYSSRC)
 
 SRC = $(TYPE_PUNNING_SRC) $(OPT_SAFE_SRC)
@@ -152,7 +152,6 @@ externs:
 	make -C ../extra/bob~     @EXTERNTARGET@
 	make -C ../extra/bonk~    @EXTERNTARGET@
 	make -C ../extra/choice   @EXTERNTARGET@
-	make -C ../extra/expr~    @EXTERNTARGET@
 	make -C ../extra/fiddle~  @EXTERNTARGET@
 	make -C ../extra/loop~    @EXTERNTARGET@
 	make -C ../extra/lrshift~ @EXTERNTARGET@
diff --git a/pd/src/makefile.mingw b/pd/src/makefile.mingw
index 02318b3f2e1c6d0d8c18c25ac24b357b8a520928..7b3131f0b6943b92c12196c9e2839d0c0247e652 100755
--- a/pd/src/makefile.mingw
+++ b/pd/src/makefile.mingw
@@ -111,7 +111,7 @@ HEADERS = g_all_guis.h m_imp.h g_canvas.h g_magicglass.h m_pd.h s_stuff.h \
 	$(wildcard ../portaudio/common/*.h) s_audio_paring.h
 
 SRC = g_canvas.c g_graph.c g_text.c g_rtext.c g_array.c g_template.c g_io.c \
-    g_scalar.c g_traversal.c g_guiconnect.c g_readwrite.c g_editor.c \
+    g_scalar.c g_traversal.c g_guiconnect.c g_readwrite.c g_editor.c g_clone.c \
     g_all_guis.c g_bang.c g_radio.c g_mycanvas.c g_numbox.c g_toggle.c \
     g_vumeter.c m_pd.c m_class.c m_obj.c m_atom.c m_memory.c \
     m_binbuf.c m_conf.c m_glob.c m_sched.c s_main.c s_inter.c s_file.c \
@@ -119,8 +119,9 @@ SRC = g_canvas.c g_graph.c g_text.c g_rtext.c g_array.c g_template.c g_io.c \
     d_ugen.c d_ctl.c d_arithmetic.c d_osc.c d_filter.c d_dac.c d_misc.c \
     d_math.c d_fft.c d_fft_mayer.c d_fftroutine.c d_array.c d_global.c \
     d_delay.c d_resample.c x_arithmetic.c x_connective.c x_interface.c \
-    x_midi.c x_misc.c x_time.c x_acoustics.c x_net.c x_qlist.c x_gui.c \
-    x_list.c d_soundfile.c g_slider.c import.c g_magicglass.c x_preset.c \
+    x_midi.c x_misc.c x_time.c x_acoustics.c x_net.c x_text.c x_gui.c \
+    x_list.c x_array.c d_soundfile.c g_vslider.c g_vdial.c import.c \
+    x_vexp.c x_vexp_if.c x_vexp_fun.c \
     g_undo.c s_utf8.c
 
 SRSRC = u_pdsend.c u_pdreceive.c
@@ -216,24 +217,24 @@ pd.res: pd.rc
 
 # for making objects included with Pd, [expr] is whacky, so its built
 # separately, and pd~ doesn't build on Windows yet
-EXTERNALS_SRC := $(wildcard $(pd_src)/extra/[a-df-oq-z]*/*.c)
-EXPR_SRC = vexp.c vexp_fun.c vexp_if.c
-EXPR_OBJ =  $(patsubst %.c, $(pd_src)/extra/expr~/%.o, $(EXPR_SRC))
-expr_src = $(pd_src)/extra/expr~
-
-externs: $(EXTERNALS_SRC:.c=.dll) $(expr_src)/expr.dll $(expr_src)/expr~.dll \
-	$(expr_src)/fexpr~.dll
-
-
-$(expr_src)/expr.dll: $(EXPR_OBJ)
-	$(CC) $(CFLAGS) $(INCLUDE) $(LDFLAGS) -s -shared --enable-auto-import \
-		-o $(expr_src)/expr.dll $(EXPR_OBJ) $(LIBS) -L$(DLL_DIR) -lpd
-$(expr_src)/expr~.dll: $(EXPR_OBJ)
-	$(CC) $(CFLAGS) $(INCLUDE) $(LDFLAGS) -s -shared --enable-auto-import \
-		-o $(expr_src)/expr~.dll $(EXPR_OBJ) $(LIBS) -L$(DLL_DIR) -lpd
-$(expr_src)/fexpr~.dll: $(EXPR_OBJ)
-	$(CC) $(CFLAGS) $(INCLUDE) $(LDFLAGS) -s -shared --enable-auto-import \
-		-o $(expr_src)/fexpr~.dll $(EXPR_OBJ) $(LIBS) -L$(DLL_DIR) -lpd
+#EXTERNALS_SRC := $(wildcard $(pd_src)/extra/[a-df-oq-z]*/*.c)
+#EXPR_SRC = vexp.c vexp_fun.c vexp_if.c
+#EXPR_OBJ =  $(patsubst %.c, $(pd_src)/extra/expr~/%.o, $(EXPR_SRC))
+#expr_src = $(pd_src)/extra/expr~
+
+#externs: $(EXTERNALS_SRC:.c=.dll) $(expr_src)/expr.dll $(expr_src)/expr~.dll \
+#      $(expr_src)/fexpr~.dll
+
+
+#$(expr_src)/expr.dll: $(EXPR_OBJ)
+#      $(CC) $(CFLAGS) $(INCLUDE) $(LDFLAGS) -s -shared --enable-auto-import \
+#              -o $(expr_src)/expr.dll $(EXPR_OBJ) $(LIBS) -L$(DLL_DIR) -lpd
+#$(expr_src)/expr~.dll: $(EXPR_OBJ)
+#      $(CC) $(CFLAGS) $(INCLUDE) $(LDFLAGS) -s -shared --enable-auto-import \
+#              -o $(expr_src)/expr~.dll $(EXPR_OBJ) $(LIBS) -L$(DLL_DIR) -lpd
+#$(expr_src)/fexpr~.dll: $(EXPR_OBJ)
+#      $(CC) $(CFLAGS) $(INCLUDE) $(LDFLAGS) -s -shared --enable-auto-import \
+#              -o $(expr_src)/fexpr~.dll $(EXPR_OBJ) $(LIBS) -L$(DLL_DIR) -lpd
 
 %.o: %.c
 	$(CC) $(CFLAGS) $(INCLUDE) -c -o $*.o $*.c
diff --git a/pd/src/makefile.nt b/pd/src/makefile.nt
index 7b4e834e8b9ab29fe76e9759a1aca2fe0de38cc2..ec514b79207399d2f7694ea1784897d56b3a9ee1 100644
--- a/pd/src/makefile.nt
+++ b/pd/src/makefile.nt
@@ -27,7 +27,7 @@ SYSSRC = s_audio_pa.c s_audio_pablio.c s_audio_paring.c \
     s_audio_mmio.c s_midi_pm.c
 
 SRC = g_canvas.c g_graph.c g_text.c g_rtext.c g_array.c g_template.c g_io.c \
-    g_scalar.c g_traversal.c g_guiconnect.c g_readwrite.c g_editor.c \
+    g_scalar.c g_traversal.c g_guiconnect.c g_readwrite.c g_editor.c g_clone.c \
     g_all_guis.c g_bang.c g_hdial.c g_hslider.c g_mycanvas.c g_numbox.c \
     g_toggle.c g_vdial.c g_vslider.c g_vumeter.c \
     m_pd.c m_class.c m_obj.c m_atom.c m_memory.c m_binbuf.c \
@@ -38,8 +38,8 @@ SRC = g_canvas.c g_graph.c g_text.c g_rtext.c g_array.c g_template.c g_io.c \
     d_math.c d_fft.c d_fft_mayer.c d_fftroutine.c d_array.c d_global.c \
     d_delay.c d_resample.c \
     x_arithmetic.c x_connective.c x_interface.c x_midi.c x_misc.c \
-    x_time.c x_acoustics.c x_net.c x_qlist.c x_gui.c x_list.c d_soundfile.c \
-    $(SYSSRC)
+    x_time.c x_acoustics.c x_net.c x_text.c x_gui.c x_list.c x_array.c d_soundfile.c \
+    x_vexp.c x_vexp_if.c x_vexp_fun.c $(SYSSRC)
 
 PADIR = ..\portaudio
 INCPA = -I$(PADIR)\include -I$(PADIR)\src\common -I..\lib\asio