replaced all empty noexcept default constructors with = default;