add open_pipes() and fork_children()