support the main thread for io, backend for process to calcuate