address MSVC shared_ptr helper problem
attempt yet again to address MSVC 8.0 issues
BOOST_DEDUCED_TYPENAME <- typename
fixed error for microsoft compilers