the code now compiles with Boost