mostly changing std shared ptrs to boost ones