final version. Completely run in parallel