Rewrite PCO with use of dispatch groups