added synchronous version to confirm that parallel execution is faster