diff --git a/scripts/run.jl b/scripts/run.jl
index a1341333b3dbc8841e6cff03b2316f869258dccc..cc850edbc0071faf7619c1d9b944a39c86a042d7 100644
--- a/scripts/run.jl
+++ b/scripts/run.jl
@@ -19,29 +19,27 @@ ctx(experiment_convergence_rate, "fem/convergence/rate")
 # pd est, L1-TV, bad
 
 
-# applications
+# misc experiments
 
-# denoising
-ctx(experiment_denoise, "fem/denoise")
-# inpainting
+# inpainting (OLD)
 ctx(experiment_inpaint, "fem/inpaint")
 # adaptive optical flow
 ctx(experiment_optflow_middlebury_all, "fem/optflow/middlebury")
 
-# additional experiments for paper
-
-# combined inpainting + denoising with mixed noise
-ctx(experiment_inpaint_denoise, "fem/optflow/inpaint_denoise")
-
-# comparison: warping and adaptivity
-ctx(experiment_optflow_middlebury_warping_comparison, "fem/optflow/middlebury_warping_comparison")
-
 function paper1(ctx)
     # newton vs other algs
     ctx(experiment_convergence_rate, "fem/convergence/rate")
     # denoising
     ctx(experiment_denoise, "fem/denoise")
     # combined inpainting + denoising with mixed noise
-    ctx(experiment_inpaint_denoise, "fem/optflow/inpaint_denoise")
+    ctx(experiment_inpaint_denoise, "fem/inpaint_denoise")
+
+    # comparison: warping and adaptivity
+    ctx(experiment_optflow_middlebury_warping_comparison, "fem/opticalflow/middlebury_warping_comparison")
+end
 
+function paper2(ctx)
+    # comparison: warping and adaptivity
+    # TODO: adaptivity parameter?
+    ctx(experiment_optflow_middlebury_warping_comparison, "fem/opticalflow/middlebury_warping_comparison")
 end
diff --git a/scripts/run_experiments.jl b/scripts/run_experiments.jl
index 2117e468c91711b02894d9e6cca22b85e01eca38..979cf0d490fd07f811631b1829892e868e67bb00 100644
--- a/scripts/run_experiments.jl
+++ b/scripts/run_experiments.jl
@@ -1501,7 +1501,12 @@ function optflow(ctx)
     size(ctx.params.imgf0) == size(ctx.params.imgf1) ||
 	throw(ArgumentError("non-matching image sizes"))
 
-    project_image! = project_l2_lagrange!
+    #project_image! = project_l2_lagrange!
+    project_image!(f, img) =
+        ctx.params.n_refine == 0 ?
+            interpolate!(f, x -> evaluate_bilinear(img, x)) : # fine mesh
+            project_l2_lagrange! # coarse adaptive mesh
+
     eps_newton = 1e-3 # cauchy criterion for inner newton loop
     eps_warp = 0.05
 
@@ -1678,6 +1683,13 @@ function experiment_optflow_middlebury_warping_comparison(ctx)
         warp = false, refine = false, n_refine = 0)
     ctx(experiment_optflow_middlebury_all_benchmarks, "warping";
         warp = true, refine = false, n_refine = 0)
+end
+
+function experiment_optflow_middlebury_warping_comparison_adaptive(ctx)
+    ctx(experiment_optflow_middlebury_all_benchmarks, "vanilla";
+        warp = false, refine = false, n_refine = 0)
+    ctx(experiment_optflow_middlebury_all_benchmarks, "warping";
+        warp = true, refine = false, n_refine = 0)
     ctx(experiment_optflow_middlebury_all_benchmarks, "adaptive-warping";
         warp = true, refine = true, n_refine = 6)
 end