wrote some objects to help us run in separate processes.  Probably should be reorganized