use concurrency for checking points