dont do this in parallel maybe?