Added run pipe.

* This is for issue #36. The interface needs expanding on and there's
  improvements to be made so not ready to close it yet.