* move declaration(s) to header file for each feature
* add termination for child threads at exit of thread(root)