remove extra #includes
adding missing #includes
don't use deprecated calls
add missing #include
add missing #include
remove unused deprecated header
add missing #include
more missing #include
remove unneeded metaprogramming stuff from smart pointers