No need of multithread