diff --git a/bfps/FluidConvert.py b/bfps/FluidConvert.py
index e94031e9851d59f4191dae4f9b1c34624f3e27d7..8b322c0580636f6042255225f7215d1c0f8bb2f2 100644
--- a/bfps/FluidConvert.py
+++ b/bfps/FluidConvert.py
@@ -30,6 +30,11 @@ import os
 from ._fluid_base import _fluid_particle_base
 
 class FluidConvert(_fluid_particle_base):
+    """This class is meant to be used for conversion of native DNS field
+    representations to real-space representations of velocity/vorticity
+    fields.
+    It may be superseeded by streamlined functionality in the future...
+    """
     def __init__(
             self,
             name = 'FluidConvert',
diff --git a/bfps/FluidResize.py b/bfps/FluidResize.py
index cb145c9ddbf0627ccd538ef9f030788230c6ccb9..e9fa8f9f7d4847d51636721cc1d839311709592f 100644
--- a/bfps/FluidResize.py
+++ b/bfps/FluidResize.py
@@ -29,6 +29,10 @@ from ._fluid_base import _fluid_particle_base
 import numpy as np
 
 class FluidResize(_fluid_particle_base):
+    """This class is meant to resize snapshots of DNS states to new grids.
+    Typical stuff for DNS of turbulence.
+    It will become superfluous when HDF5 is used for field I/O.
+    """
     def __init__(
             self,
             name = 'FluidResize',
diff --git a/bfps/Launcher.py b/bfps/Launcher.py
index 575f30a951c7fe9df66e0e43d50146e7f1a82ab4..736ef7ae74e53400df7b598b34f613746bdf2621 100644
--- a/bfps/Launcher.py
+++ b/bfps/Launcher.py
@@ -34,6 +34,11 @@ from .FluidResize import FluidResize
 from .FluidConvert import FluidConvert
 
 class Launcher:
+    """Objects of this class are used in the executable bfps script.
+    It should work with any children of
+    :class:`NavierStokes <NavierStokes.NavierStokes>`;
+    failure to do so should be reported as a bug.
+    """
     def __init__(
             self,
             base_class = NavierStokes):
diff --git a/bfps/NavierStokes.py b/bfps/NavierStokes.py
index 6c0c8b3a5b7c37a21482755344f8548323d7a442..187f5b28884f8d00b1288261d7b79cc6c319e35d 100644
--- a/bfps/NavierStokes.py
+++ b/bfps/NavierStokes.py
@@ -31,6 +31,11 @@ import h5py
 from ._fluid_base import _fluid_particle_base
 
 class NavierStokes(_fluid_particle_base):
+    """Objects of this class can be used to generate production DNS codes.
+    Any functionality that users require should be available through this class,
+    in the sense that they can implement whatever they need by simply inheriting
+    this class.
+    """
     def __init__(
             self,
             name = 'NavierStokes',
diff --git a/bfps/_base.py b/bfps/_base.py
index 286ebc62cafc071d601c328b929bddc0a8337a4a..decfaaa7fbc1ba96027a34d0d5edfb6dbc4af258 100644
--- a/bfps/_base.py
+++ b/bfps/_base.py
@@ -31,9 +31,8 @@ import h5py
 from bfps import install_info
 
 class _base(object):
-    """
-        This class contains simulation parameters, and handles parameter related
-        functionalities of both python objects and C++ codes.
+    """This class contains simulation parameters, and handles parameter related
+    functionalities of both python objects and C++ codes.
     """
     def __init__(
             self,
diff --git a/bfps/_code.py b/bfps/_code.py
index 3ec9f4fc846fd51b87403c538a64c273897d26a3..c0f019fc9dbe1903a921a4c319c85818469bc5e4 100644
--- a/bfps/_code.py
+++ b/bfps/_code.py
@@ -36,9 +36,8 @@ import bfps
 from ._base import _base
 
 class _code(_base):
-    """
-        This class is meant to stitch together the C++ code into a final source file,
-        compile it, and handle all job launching.
+    """This class is meant to stitch together the C++ code into a final source file,
+    compile it, and handle all job launching.
     """
     def __init__(
             self,
diff --git a/bfps/_fluid_base.py b/bfps/_fluid_base.py
index 4e1a6c6c7824e44c656124fda1e7374666bd21ad..e51bd0dc453f0ba4a5458e879f6d90ca0d7c0084 100644
--- a/bfps/_fluid_base.py
+++ b/bfps/_fluid_base.py
@@ -32,6 +32,10 @@ import numpy as np
 import h5py
 
 class _fluid_particle_base(_code):
+    """This class is meant to put together all common code between the
+    different C++ solvers/postprocessing tools, so that development of
+    specific functionalities is not overwhelming.
+    """
     def __init__(
             self,
             name = 'solver',