Re-thread the process

First phase of issue #15.