replace boost with c++11 features, fix warnings