added noexcept to the default constructors that create "empty" shared ptrs