First pass at replacing boost with c++11 features