add pthread version