this is a common c++ server framwork