design collector thread model