add ThreadGroup;
add StrUtil;
rename scoped_ptr to unique_ptr;