with thread package