todo: move to boost 1.52 for c++11.