Implements all parts (tentatively)

Code as-is does not spawn all processes.