don't spawn unnecessary thread