use thread macro for children