add additional base support, mainly stealed from muduo project (of course I will rewrite it all very soon)