thread-for part1