design problems with thread init code?