add multiprocess support for a few modules; almost finish task