refactor the multiporcesstask