completed parallel versions