use main thread for capture