try to be mutli thread