add core utility
add thread_pool and implement a simple async logger based on thread_pool