enqueue_exit_message, join_all, limited_pool

also wrote basic unit tests