diff --git a/bfps/FluidResize.py b/bfps/FluidResize.py
index 444c4d466fafd241a5f32127b2074cddb6b71a5a..8e03e1657e2f1551a4e27e8442dd0fc1032bc876 100644
--- a/bfps/FluidResize.py
+++ b/bfps/FluidResize.py
@@ -133,13 +133,12 @@ class FluidResize(_fluid_particle_base):
             self,
             args = [],
             **kwargs):
-        parser = argparse.ArgumentParser('bfps ' + type(self).__name__)
-        self.add_parser_arguments(parser)
-        opt = parser.parse_args(args)
+        opt = self.prepare_launch(args)
         cmd_line_pars = vars(opt)
         for k in ['dst_nx', 'dst_ny', 'dst_nz']:
             if type(cmd_line_pars[k]) == type(None):
                 cmd_line_pars[k] = opt.m
+        self.parameters['niter_todo'] = 0
         self.pars_from_namespace(opt)
         src_file = os.path.join(
                 os.path.realpath(opt.src_work_dir),
diff --git a/bfps/NavierStokes.py b/bfps/NavierStokes.py
index d263d432ab3138026fa4c58f434957635811c632..5f4cbc90e40964d2ba06b331c5e33d1a8f170ab4 100644
--- a/bfps/NavierStokes.py
+++ b/bfps/NavierStokes.py
@@ -30,6 +30,7 @@ import h5py
 import argparse
 
 import bfps
+from ._code import _code
 from ._fluid_base import _fluid_particle_base
 
 class NavierStokes(_fluid_particle_base):
@@ -976,12 +977,10 @@ class NavierStokes(_fluid_particle_base):
             self,
             args = [],
             **kwargs):
+        opt = self.prepare_launch(args)
         # with the default Lundgren forcing, I can estimate the dissipation
         # with nondefault forcing, figure out the amplitude for this viscosity
         # yourself
-        parser = argparse.ArgumentParser('bfps ' + type(self).__name__)
-        self.add_parser_arguments(parser)
-        opt = parser.parse_args(args)
         self.QR_stats_on = opt.QR_stats
         self.parameters['nu'] = (opt.kMeta * 2 / opt.n)**(4./3)
         self.parameters['dt'] = (opt.dtfactor / opt.n)
@@ -1001,7 +1000,6 @@ class NavierStokes(_fluid_particle_base):
         self.fill_up_fluid_code()
         self.finalize_code()
         self.write_src()
-        self.set_host_info(bfps.host_info)
         if not os.path.exists(os.path.join(self.work_dir, self.simname + '.h5')):
             self.write_par()
             if self.parameters['nparticles'] > 0:
diff --git a/bfps/__main__.py b/bfps/__main__.py
index 150d708b344bf92af807afbf9543748d6aa25436..4a1029991f45811ef60d1742e8a055755aa07f60 100644
--- a/bfps/__main__.py
+++ b/bfps/__main__.py
@@ -29,7 +29,6 @@ import argparse
 
 import bfps
 from .NavierStokes import NavierStokes
-from .FluidConvert import FluidConvert
 from .FluidResize import FluidResize
 
 def main():
diff --git a/bfps/_base.py b/bfps/_base.py
index eb564fcd3669eea5f0d667cd4e94c88e06540ccf..7e3a4cf96f0729cf9efb9fa161f4b8f8f22b1ee1 100644
--- a/bfps/_base.py
+++ b/bfps/_base.py
@@ -166,7 +166,7 @@ class _base(object):
                 '--environment',
                 type = str,
                 dest = 'environment',
-                default = '')
+                default = None)
         parser.add_argument(
                 '--wd',
                 type = str, dest = 'work_dir',
diff --git a/bfps/_code.py b/bfps/_code.py
index c0f019fc9dbe1903a921a4c319c85818469bc5e4..755c51d6d948b4d2845a8b19ca007cfbf98f4d12 100644
--- a/bfps/_code.py
+++ b/bfps/_code.py
@@ -28,6 +28,7 @@ import os
 import sys
 import shutil
 import subprocess
+import argparse
 import h5py
 from datetime import datetime
 import math
@@ -263,4 +264,15 @@ class _code(_base):
         script_file.write('exit 0\n')
         script_file.close()
         return None
+    def prepare_launch(
+            self,
+            args = [],
+            **kwargs):
+        parser = argparse.ArgumentParser('bfps ' + type(self).__name__)
+        self.add_parser_arguments(parser)
+        opt = parser.parse_args(args)
+        self.set_host_info(bfps.host_info)
+        if type(opt.environment) != type(None):
+            self.host_info['environment'] = opt.environment
+        return opt
 
diff --git a/bfps/_fluid_base.py b/bfps/_fluid_base.py
index 6c36cbfd57f91588781242d718cfecec596f56e2..d82f83c3a71b3fa8dbfbd77b2d855c0b941de5ee 100644
--- a/bfps/_fluid_base.py
+++ b/bfps/_fluid_base.py
@@ -395,9 +395,4 @@ class _fluid_particle_base(_code):
             nshells = kspace['nshell'].shape[0]
             ofile.close()
         return None
-    def launch(
-            self,
-            args = [],
-            **kwargs):
-        return None