add logging, memorypool, threadpool, etc.