From bf865efd51556ecbeb5562a9329ba91e47e06ec9 Mon Sep 17 00:00:00 2001
From: Robert Kimball <robert.kimball@intel.com>
Date: Wed, 1 May 2019 08:39:17 -0700
Subject: [PATCH] Fix python stuff on Scott's PR (#2843)

* Remove parameter, result, and node vector files and class, use vector

* Fix gcc issues

* style

* Remove python references

* update python files

* fix error

* fix build error
---
 python/ngraph/impl/__init__.py                |  1 -
 python/ngraph/ops.py                          |  4 +-
 python/pyngraph/function.cpp                  |  2 +-
 python/pyngraph/node_vector.cpp               | 35 --------
 python/pyngraph/node_vector.hpp               | 23 ------
 python/pyngraph/ops/concat.cpp                |  2 +-
 python/pyngraph/ops/passthrough.cpp           |  2 +-
 python/pyngraph/parameter_vector.cpp          | 43 ----------
 python/pyngraph/parameter_vector.hpp          | 23 ------
 python/pyngraph/pyngraph.cpp                  |  6 --
 python/pyngraph/result_vector.cpp             | 41 ----------
 python/pyngraph/result_vector.hpp             | 23 ------
 python/setup.py                               |  3 -
 python/test/test_ops.py                       | 80 +++++++++----------
 src/ngraph/CMakeLists.txt                     |  3 -
 src/ngraph/autodiff/adjoints.hpp              |  9 +--
 .../frontend/onnx_import/core/graph.hpp       |  2 +-
 src/ngraph/frontend/onnx_import/core/node.hpp |  2 +-
 .../frontend/onnx_import/core/null_node.cpp   |  1 -
 .../frontend/onnx_import/core/null_node.hpp   |  1 -
 .../onnx_import/core/operator_set.hpp         |  2 +-
 .../frontend/onnx_import/core/value_info.hpp  |  2 +-
 src/ngraph/frontend/onnx_import/op/abs.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/acos.hpp   |  2 +-
 src/ngraph/frontend/onnx_import/op/acosh.hpp  |  2 +-
 src/ngraph/frontend/onnx_import/op/add.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/and.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/argmax.cpp |  2 +-
 src/ngraph/frontend/onnx_import/op/argmax.hpp |  2 +-
 src/ngraph/frontend/onnx_import/op/argmin.cpp |  2 +-
 src/ngraph/frontend/onnx_import/op/argmin.hpp |  2 +-
 src/ngraph/frontend/onnx_import/op/asin.hpp   |  2 +-
 src/ngraph/frontend/onnx_import/op/asinh.hpp  |  2 +-
 src/ngraph/frontend/onnx_import/op/atan.hpp   |  2 +-
 src/ngraph/frontend/onnx_import/op/atanh.hpp  |  2 +-
 .../frontend/onnx_import/op/average_pool.cpp  |  1 -
 .../frontend/onnx_import/op/average_pool.hpp  |  2 +-
 .../frontend/onnx_import/op/batch_norm.cpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/cast.hpp   |  2 +-
 src/ngraph/frontend/onnx_import/op/ceil.hpp   |  2 +-
 src/ngraph/frontend/onnx_import/op/clip.hpp   |  2 +-
 src/ngraph/frontend/onnx_import/op/concat.hpp |  2 +-
 .../frontend/onnx_import/op/constant.cpp      |  2 +-
 .../frontend/onnx_import/op/constant.hpp      |  2 +-
 src/ngraph/frontend/onnx_import/op/conv.hpp   |  2 +-
 .../onnx_import/op/conv_transpose.hpp         |  2 +-
 src/ngraph/frontend/onnx_import/op/cos.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/cosh.hpp   |  2 +-
 .../onnx_import/op/depth_to_space.hpp         |  2 +-
 .../onnx_import/op/dequantize_linear.hpp      |  2 +-
 src/ngraph/frontend/onnx_import/op/div.hpp    |  2 +-
 .../frontend/onnx_import/op/dropout.hpp       |  2 +-
 src/ngraph/frontend/onnx_import/op/elu.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/equal.hpp  |  2 +-
 src/ngraph/frontend/onnx_import/op/erf.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/exp.hpp    |  2 +-
 .../frontend/onnx_import/op/flatten.hpp       |  2 +-
 src/ngraph/frontend/onnx_import/op/floor.hpp  |  2 +-
 src/ngraph/frontend/onnx_import/op/gather.hpp |  2 +-
 src/ngraph/frontend/onnx_import/op/gemm.hpp   |  2 +-
 .../onnx_import/op/global_average_pool.cpp    |  2 +-
 .../onnx_import/op/global_average_pool.hpp    |  2 +-
 .../onnx_import/op/global_max_pool.cpp        |  2 +-
 .../onnx_import/op/global_max_pool.hpp        |  2 +-
 .../frontend/onnx_import/op/greater.hpp       |  2 +-
 .../frontend/onnx_import/op/hard_sigmoid.hpp  |  2 +-
 .../frontend/onnx_import/op/identity.hpp      |  2 +-
 .../frontend/onnx_import/op/leaky_relu.cpp    |  2 +-
 .../frontend/onnx_import/op/leaky_relu.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/less.hpp   |  2 +-
 src/ngraph/frontend/onnx_import/op/log.hpp    |  2 +-
 .../frontend/onnx_import/op/log_softmax.hpp   |  1 -
 .../frontend/onnx_import/op/lp_pool.hpp       |  2 +-
 src/ngraph/frontend/onnx_import/op/lrn.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/lstm.hpp   |  2 +-
 src/ngraph/frontend/onnx_import/op/matmul.hpp |  2 +-
 src/ngraph/frontend/onnx_import/op/max.hpp    |  2 +-
 .../frontend/onnx_import/op/max_pool.cpp      |  1 -
 .../frontend/onnx_import/op/max_pool.hpp      |  2 +-
 src/ngraph/frontend/onnx_import/op/mean.hpp   |  2 +-
 src/ngraph/frontend/onnx_import/op/min.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/mul.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/neg.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/not.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/onehot.hpp |  2 +-
 src/ngraph/frontend/onnx_import/op/or.hpp     |  2 +-
 src/ngraph/frontend/onnx_import/op/pad.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/pow.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/prelu.hpp  |  2 +-
 .../frontend/onnx_import/op/quant_conv.hpp    |  2 +-
 .../onnx_import/op/quantize_linear.hpp        |  2 +-
 .../onnx_import/op/quantized_matmul.hpp       |  2 +-
 .../frontend/onnx_import/op/reciprocal.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/reduce.hpp |  2 +-
 src/ngraph/frontend/onnx_import/op/relu.hpp   |  2 +-
 .../frontend/onnx_import/op/reshape.hpp       |  2 +-
 src/ngraph/frontend/onnx_import/op/selu.cpp   |  1 -
 src/ngraph/frontend/onnx_import/op/selu.hpp   |  2 +-
 src/ngraph/frontend/onnx_import/op/shape.hpp  |  2 +-
 .../frontend/onnx_import/op/sigmoid.hpp       |  2 +-
 src/ngraph/frontend/onnx_import/op/sign.hpp   |  2 +-
 src/ngraph/frontend/onnx_import/op/sin.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/sinh.hpp   |  2 +-
 src/ngraph/frontend/onnx_import/op/size.hpp   |  2 +-
 src/ngraph/frontend/onnx_import/op/slice.hpp  |  2 +-
 .../frontend/onnx_import/op/softplus.hpp      |  2 +-
 .../frontend/onnx_import/op/softsign.hpp      |  2 +-
 .../onnx_import/op/space_to_depth.hpp         |  2 +-
 src/ngraph/frontend/onnx_import/op/split.hpp  |  2 +-
 src/ngraph/frontend/onnx_import/op/sqrt.hpp   |  2 +-
 .../frontend/onnx_import/op/squeeze.hpp       |  2 +-
 src/ngraph/frontend/onnx_import/op/sub.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/sum.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/tan.hpp    |  2 +-
 src/ngraph/frontend/onnx_import/op/tanh.hpp   |  2 +-
 .../onnx_import/op/thresholded_relu.hpp       |  2 +-
 src/ngraph/frontend/onnx_import/op/topk.hpp   |  2 +-
 .../frontend/onnx_import/op/transpose.hpp     |  2 +-
 .../frontend/onnx_import/op/unsqueeze.hpp     |  2 +-
 src/ngraph/frontend/onnx_import/op/where.hpp  |  2 +-
 src/ngraph/frontend/onnx_import/op/xor.hpp    |  2 +-
 .../frontend/onnx_import/utils/norm.hpp       |  1 -
 .../frontend/onnx_import/utils/reshape.hpp    |  1 -
 .../frontend/onnx_import/utils/variadic.hpp   |  3 +-
 src/ngraph/function.hpp                       |  4 +-
 src/ngraph/graph_util.cpp                     |  3 +-
 src/ngraph/node.hpp                           | 13 ++-
 src/ngraph/node_vector.hpp                    | 59 --------------
 src/ngraph/op/batch_norm.hpp                  |  1 -
 src/ngraph/op/experimental/dyn_reshape.hpp    |  2 +-
 src/ngraph/op/experimental/dyn_slice.hpp      |  2 +-
 src/ngraph/op/experimental/transpose.hpp      |  2 +-
 src/ngraph/op/op.cpp                          |  2 +-
 src/ngraph/op/op.hpp                          |  1 +
 src/ngraph/op/parameter.hpp                   |  1 +
 src/ngraph/op/reshape.hpp                     |  2 +-
 src/ngraph/op/result.hpp                      |  1 +
 src/ngraph/parameter_vector.hpp               | 49 ------------
 src/ngraph/result_vector.hpp                  | 54 -------------
 src/ngraph/runtime/cpu/op/batch_norm_relu.hpp |  1 -
 .../cpu/pass/cpu_workspace_insertion.hpp      |  2 +-
 src/ngraph/runtime/gpu/op/batch_norm.hpp      |  1 -
 .../runtime/hybrid/hybrid_executable.hpp      |  2 +
 src/ngraph/runtime/hybrid/hybrid_util.hpp     |  1 +
 .../runtime/intelgpu/intelgpu_backend.cpp     |  2 +-
 src/ngraph/util.cpp                           |  2 +-
 src/ngraph/util.hpp                           |  2 +-
 147 files changed, 178 insertions(+), 540 deletions(-)
 delete mode 100644 python/pyngraph/node_vector.cpp
 delete mode 100644 python/pyngraph/node_vector.hpp
 delete mode 100644 python/pyngraph/parameter_vector.cpp
 delete mode 100644 python/pyngraph/parameter_vector.hpp
 delete mode 100644 python/pyngraph/result_vector.cpp
 delete mode 100644 python/pyngraph/result_vector.hpp
 delete mode 100644 src/ngraph/node_vector.hpp
 delete mode 100644 src/ngraph/parameter_vector.hpp
 delete mode 100644 src/ngraph/result_vector.hpp

diff --git a/python/ngraph/impl/__init__.py b/python/ngraph/impl/__init__.py
index dc261f3ee..95cf31f67 100644
--- a/python/ngraph/impl/__init__.py
+++ b/python/ngraph/impl/__init__.py
@@ -34,7 +34,6 @@ sys.setdlopenflags(flags)
 
 from _pyngraph import Function
 from _pyngraph import Node
-from _pyngraph import NodeVector
 from _pyngraph import Type
 from _pyngraph import Shape
 from _pyngraph import Strides
diff --git a/python/ngraph/ops.py b/python/ngraph/ops.py
index a2cd61f27..d4d726c9b 100644
--- a/python/ngraph/ops.py
+++ b/python/ngraph/ops.py
@@ -18,7 +18,7 @@
 import numpy as np
 
 from ngraph.impl import AxisSet, AxisVector, Coordinate, CoordinateDiff, Function, Node, \
-    NodeVector, Shape, Strides
+    Shape, Strides
 
 from ngraph.impl.op import Abs, Acos, Add, And, Asin, ArgMax, ArgMin, Atan, AvgPool, \
     BatchNormTraining, BatchNormInference, Broadcast, Ceiling, Concat, Constant, Convert, \
@@ -779,7 +779,7 @@ def concat(nodes, axis, name=None):  # type: (List[Node], int, str) -> Node
     :param name: The optional new name for output node.
     :return: Return new node that is a concatenation of input nodes.
     """
-    return Concat(NodeVector(nodes), axis)
+    return Concat(nodes, axis)
 
 
 @nameable_op
diff --git a/python/pyngraph/function.cpp b/python/pyngraph/function.cpp
index 4f9e305d7..4a6e0e47d 100644
--- a/python/pyngraph/function.cpp
+++ b/python/pyngraph/function.cpp
@@ -27,7 +27,7 @@ void regclass_pyngraph_Function(py::module m)
 {
     py::class_<ngraph::Function, std::shared_ptr<ngraph::Function>> function(m, "Function");
     function.doc() = "ngraph.impl.Function wraps ngraph::Function";
-    function.def(py::init<const ngraph::NodeVector&,
+    function.def(py::init<const std::vector<std::shared_ptr<ngraph::Node>>&,
                           const std::vector<std::shared_ptr<ngraph::op::Parameter>>&,
                           const std::string&>());
     function.def(py::init<const std::shared_ptr<ngraph::Node>&,
diff --git a/python/pyngraph/node_vector.cpp b/python/pyngraph/node_vector.cpp
deleted file mode 100644
index c073335b5..000000000
--- a/python/pyngraph/node_vector.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//*****************************************************************************
-// Copyright 2017-2019 Intel Corporation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//*****************************************************************************
-
-#include <pybind11/pybind11.h>
-#include <pybind11/stl.h>
-
-#include "ngraph/node.hpp" // ngraph::Node
-#include "ngraph/node_vector.hpp"
-#include "pyngraph/node.hpp"
-#include "pyngraph/node_vector.hpp"
-
-namespace py = pybind11;
-
-void regclass_pyngraph_NodeVector(py::module m)
-{
-    py::class_<ngraph::NodeVector, std::shared_ptr<ngraph::NodeVector>> node_vector(m,
-                                                                                    "NodeVector");
-    node_vector.doc() = "ngraph.impl.NodeVector wraps ngraph::NodeVector";
-    node_vector.def(py::init<const std::initializer_list<std::shared_ptr<ngraph::Node>>&>());
-    node_vector.def(py::init<const std::vector<std::shared_ptr<ngraph::Node>>&>());
-    node_vector.def(py::init<const ngraph::NodeVector&>());
-}
diff --git a/python/pyngraph/node_vector.hpp b/python/pyngraph/node_vector.hpp
deleted file mode 100644
index 10bd55e03..000000000
--- a/python/pyngraph/node_vector.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-//*****************************************************************************
-// Copyright 2017-2019 Intel Corporation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//*****************************************************************************
-
-#pragma once
-
-#include <pybind11/pybind11.h>
-
-namespace py = pybind11;
-
-void regclass_pyngraph_NodeVector(py::module m);
diff --git a/python/pyngraph/ops/concat.cpp b/python/pyngraph/ops/concat.cpp
index 79441f6f9..fce6d2beb 100644
--- a/python/pyngraph/ops/concat.cpp
+++ b/python/pyngraph/ops/concat.cpp
@@ -28,5 +28,5 @@ void regclass_pyngraph_op_Concat(py::module m)
     py::class_<ngraph::op::Concat, std::shared_ptr<ngraph::op::Concat>, ngraph::op::Op> concat(
         m, "Concat");
     concat.doc() = "ngraph.impl.op.Concat wraps ngraph::op::Concat";
-    concat.def(py::init<const ngraph::NodeVector&, size_t>());
+    concat.def(py::init<const std::vector<std::shared_ptr<ngraph::Node>>&, size_t>());
 }
diff --git a/python/pyngraph/ops/passthrough.cpp b/python/pyngraph/ops/passthrough.cpp
index 105c3ed8c..51edbf5d7 100644
--- a/python/pyngraph/ops/passthrough.cpp
+++ b/python/pyngraph/ops/passthrough.cpp
@@ -30,6 +30,6 @@ void regclass_pyngraph_op_Passthrough(py::module m)
     pass.def(py::init<const std::string&,
                       const std::string&,
                       const std::string&,
-                      const ngraph::NodeVector&,
+                      const std::vector<std::shared_ptr<ngraph::Node>>&,
                       std::vector<std::tuple<ngraph::element::Type, ngraph::PartialShape>>>());
 }
diff --git a/python/pyngraph/parameter_vector.cpp b/python/pyngraph/parameter_vector.cpp
deleted file mode 100644
index f2a3859d1..000000000
--- a/python/pyngraph/parameter_vector.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-//*****************************************************************************
-// Copyright 2017-2019 Intel Corporation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//*****************************************************************************
-
-#include <pybind11/pybind11.h>
-#include <pybind11/stl.h>
-
-#include "ngraph/op/parameter.hpp" // ngraph::op::Parameter
-#include "ngraph/parameter_vector.hpp"
-#include "pyngraph/ops/parameter.hpp"
-#include "pyngraph/parameter_vector.hpp"
-
-namespace py = pybind11;
-
-void regclass_pyngraph_ParameterVector(py::module m)
-{
-    py::class_<ngraph::ParameterVector, std::shared_ptr<ngraph::ParameterVector>> parameter_vector(
-        m, "ParameterVector");
-    parameter_vector.doc() = "ngraph.impl.ParameterVector wraps ngraph::ParameterVector";
-    parameter_vector.def(
-        py::init<const std::initializer_list<std::shared_ptr<ngraph::op::Parameter>>&>());
-    parameter_vector.def(py::init<const std::vector<std::shared_ptr<ngraph::op::Parameter>>&>());
-    parameter_vector.def(py::init<const ngraph::ParameterVector&>());
-    parameter_vector.def("__len__", [](const ngraph::ParameterVector& v) { return v.size(); });
-    parameter_vector.def("__getitem__",
-                         [](const ngraph::ParameterVector& v, int key) { return v[key]; });
-    parameter_vector.def(
-        "__iter__",
-        [](ngraph::ParameterVector& v) { return py::make_iterator(v.begin(), v.end()); },
-        py::keep_alive<0, 1>()); /* Keep vector alive while iterator is used */
-}
diff --git a/python/pyngraph/parameter_vector.hpp b/python/pyngraph/parameter_vector.hpp
deleted file mode 100644
index c747cb9d7..000000000
--- a/python/pyngraph/parameter_vector.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-//*****************************************************************************
-// Copyright 2017-2019 Intel Corporation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//*****************************************************************************
-
-#pragma once
-
-#include <pybind11/pybind11.h>
-
-namespace py = pybind11;
-
-void regclass_pyngraph_ParameterVector(py::module m);
diff --git a/python/pyngraph/pyngraph.cpp b/python/pyngraph/pyngraph.cpp
index 92e4606b4..fb34f8f79 100644
--- a/python/pyngraph/pyngraph.cpp
+++ b/python/pyngraph/pyngraph.cpp
@@ -21,16 +21,13 @@
 #include "pyngraph/coordinate_diff.hpp"
 #include "pyngraph/function.hpp"
 #include "pyngraph/node.hpp"
-#include "pyngraph/node_vector.hpp"
 #if defined(NGRAPH_ONNX_IMPORT_ENABLE)
 #include "pyngraph/onnx_import/onnx_import.hpp"
 #endif
 #include "pyngraph/ops/op.hpp"
 #include "pyngraph/ops/regmodule_pyngraph_op.hpp"
 #include "pyngraph/ops/util/regmodule_pyngraph_op_util.hpp"
-#include "pyngraph/parameter_vector.hpp"
 #include "pyngraph/passes/regmodule_pyngraph_passes.hpp"
-#include "pyngraph/result_vector.hpp"
 #include "pyngraph/runtime/regmodule_pyngraph_runtime.hpp"
 #include "pyngraph/serializer.hpp"
 #include "pyngraph/shape.hpp"
@@ -44,7 +41,6 @@ PYBIND11_MODULE(_pyngraph, m)
 {
     m.doc() = "Package ngraph.impl that wraps nGraph's namespace ngraph";
     regclass_pyngraph_Node(m);
-    regclass_pyngraph_NodeVector(m);
     regclass_pyngraph_Shape(m);
     regclass_pyngraph_Strides(m);
     regclass_pyngraph_CoordinateDiff(m);
@@ -54,7 +50,6 @@ PYBIND11_MODULE(_pyngraph, m)
     regmodule_pyngraph_types(m);
     regclass_pyngraph_Function(m);
     regclass_pyngraph_Serializer(m);
-    regclass_pyngraph_ParameterVector(m);
     py::module m_op = m.def_submodule("op", "Package ngraph.impl.op that wraps ngraph::op");
     regclass_pyngraph_op_Op(m_op);
 #if defined(NGRAPH_ONNX_IMPORT_ENABLE)
@@ -65,5 +60,4 @@ PYBIND11_MODULE(_pyngraph, m)
     regmodule_pyngraph_runtime(m);
     regmodule_pyngraph_passes(m);
     regmodule_pyngraph_util(m);
-    regclass_pyngraph_ResultVector(m);
 }
diff --git a/python/pyngraph/result_vector.cpp b/python/pyngraph/result_vector.cpp
deleted file mode 100644
index 6a5af60c0..000000000
--- a/python/pyngraph/result_vector.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
-//*****************************************************************************
-// Copyright 2017-2019 Intel Corporation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//*****************************************************************************
-
-#include <pybind11/pybind11.h>
-#include <pybind11/stl.h>
-
-#include "ngraph/op/result.hpp" // ngraph::op::Result
-#include "ngraph/result_vector.hpp"
-#include "pyngraph/ops/result.hpp"
-#include "pyngraph/result_vector.hpp"
-
-namespace py = pybind11;
-
-void regclass_pyngraph_ResultVector(py::module m)
-{
-    py::class_<ngraph::ResultVector, std::shared_ptr<ngraph::ResultVector>> result_vector(
-        m, "ResultVector");
-    result_vector.doc() = "ngraph.impl.ResultVector wraps ngraph::ResultVector";
-    result_vector.def(
-        py::init<const std::initializer_list<std::shared_ptr<ngraph::op::Result>>&>());
-    result_vector.def(py::init<const std::vector<std::shared_ptr<ngraph::op::Result>>&>());
-    result_vector.def(py::init<const ngraph::ResultVector&>());
-    result_vector.def("__len__", [](const ngraph::ResultVector& v) { return v.size(); });
-    result_vector.def("__getitem__", [](const ngraph::ResultVector& v, int key) { return v[key]; });
-    result_vector.def("__iter__",
-                      [](ngraph::ResultVector& v) { return py::make_iterator(v.begin(), v.end()); },
-                      py::keep_alive<0, 1>()); /* Keep vector alive while iterator is used */
-}
diff --git a/python/pyngraph/result_vector.hpp b/python/pyngraph/result_vector.hpp
deleted file mode 100644
index 46d1f59bd..000000000
--- a/python/pyngraph/result_vector.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-//*****************************************************************************
-// Copyright 2017-2019 Intel Corporation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//*****************************************************************************
-
-#pragma once
-
-#include <pybind11/pybind11.h>
-
-namespace py = pybind11;
-
-void regclass_pyngraph_ResultVector(py::module m);
diff --git a/python/setup.py b/python/setup.py
index 32fedc94a..65f043b2d 100644
--- a/python/setup.py
+++ b/python/setup.py
@@ -143,17 +143,14 @@ sources = [
     'pyngraph/function.cpp',
     'pyngraph/serializer.cpp',
     'pyngraph/node.cpp',
-    'pyngraph/node_vector.cpp',
     'pyngraph/shape.cpp',
     'pyngraph/strides.cpp',
     'pyngraph/coordinate_diff.cpp',
     'pyngraph/axis_set.cpp',
     'pyngraph/axis_vector.cpp',
     'pyngraph/coordinate.cpp',
-    'pyngraph/parameter_vector.cpp',
     'pyngraph/pyngraph.cpp',
     'pyngraph/util.cpp',
-    'pyngraph/result_vector.cpp',
     'pyngraph/ops/util/arithmetic_reduction.cpp',
     'pyngraph/ops/util/binary_elementwise_comparison.cpp',
     'pyngraph/ops/util/op_annotations.cpp',
diff --git a/python/test/test_ops.py b/python/test/test_ops.py
index 277226c43..34704eb9f 100644
--- a/python/test/test_ops.py
+++ b/python/test/test_ops.py
@@ -21,7 +21,7 @@ import numpy as np
 
 from ngraph.impl import util
 from ngraph.impl import Shape, Strides, CoordinateDiff, AxisSet, AxisVector, Coordinate
-from ngraph.impl import Type, Function, NodeVector
+from ngraph.impl import Type, Function
 from ngraph.impl.runtime import Backend, Executable
 from ngraph.impl.op import Acos, Asin, Atan, Cos, Sin, Tan
 from ngraph.impl.op import Cosh, Sinh, Tanh, Sqrt, Sign
@@ -116,7 +116,7 @@ def binary_op_exec(op_str):
     A = Parameter(element_type, shape)
     B = Parameter(element_type, shape)
     parameter_list = [A, B]
-    function = Function(NodeVector([binary_op(op_str, A, B)]), parameter_list, 'test')
+    function = Function([binary_op(op_str, A, B)], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, shape)
@@ -146,7 +146,7 @@ def binary_op_comparison(op_str):
     A = Parameter(element_type, shape)
     B = Parameter(element_type, shape)
     parameter_list = [A, B]
-    function = Function(NodeVector([binary_op(op_str, A, B)]), parameter_list, 'test')
+    function = Function([binary_op(op_str, A, B)], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, shape)
@@ -245,7 +245,7 @@ def test_add_with_mul():
     B = Parameter(element_type, shape)
     C = Parameter(element_type, shape)
     parameter_list = [A, B, C]
-    function = Function(NodeVector([Multiply(Add(A, B), C)]), parameter_list, 'test')
+    function = Function([Multiply(Add(A, B), C)], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, shape)
@@ -358,7 +358,7 @@ def unary_op_exec(op_str, input_list):
     shape_np = np.array(input_list).shape
     A = Parameter(element_type, shape)
     parameter_list = [A]
-    function = Function(NodeVector([unary_op(op_str, A)]), parameter_list, 'test')
+    function = Function([unary_op(op_str, A)], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, shape)
@@ -492,7 +492,7 @@ def test_not():
     shape = Shape([2])
     A = Parameter(element_type, shape)
     parameter_list = [A]
-    function = Function(NodeVector([Not(A)]), parameter_list, 'test')
+    function = Function([Not(A)], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, shape)
@@ -518,7 +518,7 @@ def test_sum():
     shape = Shape([1, 4])
     A = Parameter(element_type, shape)
     parameter_list = [A]
-    function = Function(NodeVector([Sum(A, AxisSet({1}))]), parameter_list, 'test')
+    function = Function([Sum(A, AxisSet({1}))], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, shape)
@@ -545,7 +545,7 @@ def test_reshape():
     shape = Shape([2, 3])
     A = Parameter(element_type, shape)
     parameter_list = [A]
-    function = Function(NodeVector([Reshape(A, AxisVector([0, 1]), Shape([3, 2]))]), parameter_list, 'test')
+    function = Function([Reshape(A, AxisVector([0, 1]), Shape([3, 2]))], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, shape)
@@ -572,7 +572,7 @@ def test_convert():
     A = Parameter(element_type, shape)
     parameter_list = [A]
     # f32 to boolean
-    function = Function(NodeVector([Convert(A, Type.boolean)]), parameter_list, 'test')
+    function = Function([Convert(A, Type.boolean)], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, shape)
@@ -591,7 +591,7 @@ def test_convert():
     assert np.allclose(result_arr, result_arr_ref)
 
     # f32 to i32
-    function = Function(NodeVector([Convert(A, Type.i32)]), parameter_list, 'test')
+    function = Function([Convert(A, Type.i32)], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     result = backend.create_tensor(Type.i32, shape)
@@ -615,7 +615,7 @@ def test_broadcast():
     element_type = Type.f32
     A = Parameter(element_type, Shape([3]))
     parameter_list = [A]
-    function = Function(NodeVector([Broadcast(A, Shape([3, 3]), AxisSet({0}))]), parameter_list, 'test')
+    function = Function([Broadcast(A, Shape([3, 3]), AxisSet({0}))], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, Shape([3]))
@@ -640,7 +640,7 @@ def test_constant():
 
     element_type = Type.f32
     parameter_list = []
-    function = Function(NodeVector([Constant(element_type, Shape([3, 3]), list(range(9)))]),
+    function = Function([Constant(element_type, Shape([3, 3]), list(range(9)))],
                         parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
@@ -662,7 +662,7 @@ def test_onehot():
     element_type = Type.i32
     A = Parameter(element_type, Shape([3]))
     parameter_list = [A]
-    function = Function(NodeVector([OneHot(A, Shape([3, 3]), 0)]), parameter_list, 'test')
+    function = Function([OneHot(A, Shape([3, 3]), 0)], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, Shape([3]))
@@ -691,7 +691,7 @@ def test_concat():
     C = Parameter(element_type, Shape([1, 2]))
     parameter_list = [A, B, C]
     axis = 0
-    function = Function(NodeVector([Concat(NodeVector([A, B, C]), axis)]), parameter_list, 'test')
+    function = Function([Concat([A, B, C], axis)], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, Shape([1, 2]))
@@ -743,7 +743,7 @@ def test_select():
     C = Parameter(element_type, Shape([1, 2]))
     parameter_list = [A, B, C]
 
-    function = Function(NodeVector([Select(A, B, C)]), parameter_list, 'test')
+    function = Function([Select(A, B, C)], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(Type.boolean, Shape([1, 2]))
@@ -778,8 +778,8 @@ def test_slice():
     lower_bounds = [1, 1]
     upper_bounds = [5, 5]
 
-    function = Function(NodeVector([Slice(A, Coordinate(lower_bounds),
-                                   Coordinate(upper_bounds))]), parameter_list, 'test')
+    function = Function([Slice(A, Coordinate(lower_bounds),
+                                   Coordinate(upper_bounds))], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, shape)
@@ -801,8 +801,8 @@ def test_slice():
     #test with strides
     strides = [1, 2]
 
-    function = Function(NodeVector([Slice(A, Coordinate(lower_bounds), Coordinate(upper_bounds),
-                        Strides(strides))]), parameter_list, 'test')
+    function = Function([Slice(A, Coordinate(lower_bounds), Coordinate(upper_bounds),
+                        Strides(strides))], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     result = backend.create_tensor(element_type, Shape([4, 2]))
@@ -831,8 +831,8 @@ def test_replace_slice():
     lower_bounds = [0, 1]
     upper_bounds = [3, 3]
 
-    function = Function(NodeVector([ReplaceSlice(A, B, Coordinate(lower_bounds),
-                        Coordinate(upper_bounds))]), parameter_list, 'test')
+    function = Function([ReplaceSlice(A, B, Coordinate(lower_bounds),
+                        Coordinate(upper_bounds))], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, Shape([6, 4]))
@@ -858,8 +858,8 @@ def test_replace_slice():
     upper_bounds = [5, 3]
     strides = [2, 2]
 
-    function = Function(NodeVector([ReplaceSlice(A, B, Coordinate(lower_bounds),
-                        Coordinate(upper_bounds), Strides(strides))]),
+    function = Function([ReplaceSlice(A, B, Coordinate(lower_bounds),
+                        Coordinate(upper_bounds), Strides(strides))],
                         parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
@@ -885,7 +885,7 @@ def test_max_pool():
     input_arr = np.arange(10, dtype=np.float32).reshape(1, 1, 10)
     window_shape = [3]
 
-    function = Function(NodeVector([MaxPool(A, Shape(window_shape))]), parameter_list, 'test')
+    function = Function([MaxPool(A, Shape(window_shape))], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, shape)
@@ -905,7 +905,7 @@ def test_max_pool():
     #test 1d with strides
     strides = [2]
 
-    function = Function(NodeVector([MaxPool(A, Shape(window_shape), Strides(strides))]), parameter_list, 'test')
+    function = Function([MaxPool(A, Shape(window_shape), Strides(strides))], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     size = 4
@@ -929,7 +929,7 @@ def test_max_pool():
     input_arr = np.arange(100, dtype=np.float32).reshape(1, 1, 10, 10)
     window_shape = [3, 3]
 
-    function = Function(NodeVector([MaxPool(A, Shape(window_shape))]), parameter_list, 'test')
+    function = Function([MaxPool(A, Shape(window_shape))], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, shape)
@@ -949,7 +949,7 @@ def test_max_pool():
     #test 2d with strides
     strides = [2, 2]
 
-    function = Function(NodeVector([MaxPool(A, Shape(window_shape), Strides(strides))]), parameter_list, 'test')
+    function = Function([MaxPool(A, Shape(window_shape), Strides(strides))], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     size = 4
@@ -1027,7 +1027,7 @@ def test_convolution():
     filter_arr[0][0][2][0] = -1
     result_arr = np.zeros(196, dtype=np.float32).reshape(1, 1, 14, 14)
 
-    function = Function(NodeVector([Convolution(A, B)]), parameter_list, 'test')
+    function = Function([Convolution(A, B)], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, image_shape)
@@ -1061,7 +1061,7 @@ def test_convolution_with_strides():
     filter_arr[0][0][1][1] = 1
     strides = [2, 2]
 
-    function = Function(NodeVector([Convolution(A, B, Strides(strides))]), parameter_list, 'test')
+    function = Function([Convolution(A, B, Strides(strides))], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, image_shape)
@@ -1096,7 +1096,7 @@ def test_convolution_with_filter_dilation():
     strides = [1, 1]
     dilation = [2, 2]
 
-    function = Function(NodeVector([Convolution(A, B, Strides(strides), Strides(dilation))]), parameter_list, 'test')
+    function = Function([Convolution(A, B, Strides(strides), Strides(dilation))], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, image_shape)
@@ -1135,8 +1135,8 @@ def test_convolution_with_padding():
     padding_below = [0, 0]
     padding_above = [0, 0]
 
-    function = Function(NodeVector([Convolution(A, B, Strides(strides), Strides(dilation),
-                        CoordinateDiff(padding_below), CoordinateDiff(padding_above))]),
+    function = Function([Convolution(A, B, Strides(strides), Strides(dilation),
+                        CoordinateDiff(padding_below), CoordinateDiff(padding_above))],
                         parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
@@ -1174,8 +1174,8 @@ def test_convolution_with_padding():
     padding_below = [2, 1]
     padding_above = [1, 2]
 
-    function = Function(NodeVector([Convolution(A, B, Strides(strides), Strides(dilation),
-                        CoordinateDiff(padding_below), CoordinateDiff(padding_above))]),
+    function = Function([Convolution(A, B, Strides(strides), Strides(dilation),
+                        CoordinateDiff(padding_below), CoordinateDiff(padding_above))],
                         parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
@@ -1216,9 +1216,9 @@ def test_convolution_with_data_dilation():
     padding_above = [0, 0]
     data_dilation = [2, 2]
 
-    function = Function(NodeVector([Convolution(A, B, Strides(strides), Strides(dilation),
+    function = Function([Convolution(A, B, Strides(strides), Strides(dilation),
                                     CoordinateDiff(padding_below), CoordinateDiff(padding_above),
-                                    Strides(data_dilation))]), parameter_list, 'test')
+                                    Strides(data_dilation))], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, image_shape)
@@ -1264,9 +1264,9 @@ def test_convolutionBackpropData():
     B = Parameter(element_type, output_shape)
     parameter_list = [A, B]
 
-    function = Function(NodeVector([ConvolutionBackpropData(image_shape, A, B, Strides(window_strides), Strides(window_dilation),
+    function = Function([ConvolutionBackpropData(image_shape, A, B, Strides(window_strides), Strides(window_dilation),
                                      CoordinateDiff(padding_below), CoordinateDiff(padding_above),
-                                     Strides(data_dilation))]), parameter_list, 'test')
+                                     Strides(data_dilation))], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, filter_shape)
@@ -1320,9 +1320,9 @@ def test_convolutionBackpropFilters():
     B = Parameter(element_type, output_shape)
     parameter_list = [A, B]
 
-    function = Function(NodeVector([ConvolutionBackpropFilters(A, filter_shape, B, Strides(window_strides), Strides(window_dilation),
+    function = Function([ConvolutionBackpropFilters(A, filter_shape, B, Strides(window_strides), Strides(window_dilation),
                                      CoordinateDiff(padding_below),CoordinateDiff(padding_above),
-                                     Strides(data_dilation))]), parameter_list, 'test')
+                                     Strides(data_dilation))], parameter_list, 'test')
     backend = Backend.create(test.BACKEND_NAME)
 
     a = backend.create_tensor(element_type, image_shape)
diff --git a/src/ngraph/CMakeLists.txt b/src/ngraph/CMakeLists.txt
index 58ff6ff67..28e983b1d 100644
--- a/src/ngraph/CMakeLists.txt
+++ b/src/ngraph/CMakeLists.txt
@@ -74,7 +74,6 @@ set (SRC
     ngraph_visibility.hpp
     node.cpp
     node.hpp
-    node_vector.hpp
     op/abs.cpp
     op/abs.hpp
     op/acos.cpp
@@ -301,7 +300,6 @@ set (SRC
     op/util/reshape.hpp
     op/util/unary_elementwise_arithmetic.cpp
     op/util/unary_elementwise_arithmetic.hpp
-    parameter_vector.hpp
     partial_shape.cpp
     partial_shape.hpp
     pass/algebraic_simplification.cpp
@@ -382,7 +380,6 @@ set (SRC
     provenance.cpp
     provenance.hpp
     rank.hpp
-    result_vector.hpp
     runtime/aligned_buffer.cpp
     runtime/aligned_buffer.hpp
     runtime/backend.cpp
diff --git a/src/ngraph/autodiff/adjoints.hpp b/src/ngraph/autodiff/adjoints.hpp
index faccd3f81..610793fec 100644
--- a/src/ngraph/autodiff/adjoints.hpp
+++ b/src/ngraph/autodiff/adjoints.hpp
@@ -21,7 +21,6 @@
 #include <unordered_map>
 
 #include "ngraph/coordinate.hpp"
-#include "ngraph/node_vector.hpp"
 #include "ngraph/strides.hpp"
 
 namespace ngraph
@@ -29,11 +28,9 @@ namespace ngraph
     class Node;
     class Function;
 
-    namespace runtime
-    {
-        class Backend;
-        class Manager;
-    }
+    // Need duplicate definition here to avoid g++ issues
+    // Keep consistent with version in node.hpp
+    using NodeVector = std::vector<std::shared_ptr<Node>>;
 
     namespace autodiff
     {
diff --git a/src/ngraph/frontend/onnx_import/core/graph.hpp b/src/ngraph/frontend/onnx_import/core/graph.hpp
index 7029b7446..bc49f47ee 100644
--- a/src/ngraph/frontend/onnx_import/core/graph.hpp
+++ b/src/ngraph/frontend/onnx_import/core/graph.hpp
@@ -21,7 +21,7 @@
 #include <vector>
 
 #include "model.hpp"
-#include "ngraph/parameter_vector.hpp"
+#include "ngraph/op/parameter.hpp"
 #include "operator_set.hpp"
 #include "value_info.hpp"
 #include "weight.hpp"
diff --git a/src/ngraph/frontend/onnx_import/core/node.hpp b/src/ngraph/frontend/onnx_import/core/node.hpp
index 7f755c045..e4eab7439 100644
--- a/src/ngraph/frontend/onnx_import/core/node.hpp
+++ b/src/ngraph/frontend/onnx_import/core/node.hpp
@@ -20,7 +20,7 @@
 #include <string>
 
 #include "ngraph/except.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace onnx
 {
diff --git a/src/ngraph/frontend/onnx_import/core/null_node.cpp b/src/ngraph/frontend/onnx_import/core/null_node.cpp
index 0e0f46a0a..652f50d39 100644
--- a/src/ngraph/frontend/onnx_import/core/null_node.cpp
+++ b/src/ngraph/frontend/onnx_import/core/null_node.cpp
@@ -16,7 +16,6 @@
 
 #include "null_node.hpp"
 #include "ngraph/node.hpp"
-#include "ngraph/node_vector.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/core/null_node.hpp b/src/ngraph/frontend/onnx_import/core/null_node.hpp
index f30168005..b4a999c29 100644
--- a/src/ngraph/frontend/onnx_import/core/null_node.hpp
+++ b/src/ngraph/frontend/onnx_import/core/null_node.hpp
@@ -19,7 +19,6 @@
 #include <memory>
 
 #include "ngraph/node.hpp"
-#include "ngraph/node_vector.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/core/operator_set.hpp b/src/ngraph/frontend/onnx_import/core/operator_set.hpp
index 70670c3d0..e585222af 100644
--- a/src/ngraph/frontend/onnx_import/core/operator_set.hpp
+++ b/src/ngraph/frontend/onnx_import/core/operator_set.hpp
@@ -20,7 +20,7 @@
 #include <string>
 #include <unordered_map>
 
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "node.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/core/value_info.hpp b/src/ngraph/frontend/onnx_import/core/value_info.hpp
index a331ca701..706a6b337 100644
--- a/src/ngraph/frontend/onnx_import/core/value_info.hpp
+++ b/src/ngraph/frontend/onnx_import/core/value_info.hpp
@@ -19,7 +19,7 @@
 #include <onnx-ml.pb.h>
 
 #include "ngraph/op/constant.hpp"
-#include "ngraph/parameter_vector.hpp"
+#include "ngraph/op/parameter.hpp"
 #include "ngraph/shape.hpp"
 #include "ngraph/type/element_type.hpp"
 #include "node.hpp"
diff --git a/src/ngraph/frontend/onnx_import/op/abs.hpp b/src/ngraph/frontend/onnx_import/op/abs.hpp
index 1e833761d..87fa1528a 100644
--- a/src/ngraph/frontend/onnx_import/op/abs.hpp
+++ b/src/ngraph/frontend/onnx_import/op/abs.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/abs.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/acos.hpp b/src/ngraph/frontend/onnx_import/op/acos.hpp
index 04dab58a6..f9c982778 100644
--- a/src/ngraph/frontend/onnx_import/op/acos.hpp
+++ b/src/ngraph/frontend/onnx_import/op/acos.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/acos.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/acosh.hpp b/src/ngraph/frontend/onnx_import/op/acosh.hpp
index 4425c0c44..53053fc87 100644
--- a/src/ngraph/frontend/onnx_import/op/acosh.hpp
+++ b/src/ngraph/frontend/onnx_import/op/acosh.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/add.hpp b/src/ngraph/frontend/onnx_import/op/add.hpp
index c90ee8af1..c80510c63 100644
--- a/src/ngraph/frontend/onnx_import/op/add.hpp
+++ b/src/ngraph/frontend/onnx_import/op/add.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/add.hpp"
 #include "ngraph/op/util/broadcasting.hpp"
 
diff --git a/src/ngraph/frontend/onnx_import/op/and.hpp b/src/ngraph/frontend/onnx_import/op/and.hpp
index 1b2519f10..0fd186369 100644
--- a/src/ngraph/frontend/onnx_import/op/and.hpp
+++ b/src/ngraph/frontend/onnx_import/op/and.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/and.hpp"
 #include "ngraph/op/util/broadcasting.hpp"
 
diff --git a/src/ngraph/frontend/onnx_import/op/argmax.cpp b/src/ngraph/frontend/onnx_import/op/argmax.cpp
index 74c6ecb76..44114d3c5 100644
--- a/src/ngraph/frontend/onnx_import/op/argmax.cpp
+++ b/src/ngraph/frontend/onnx_import/op/argmax.cpp
@@ -16,7 +16,7 @@
 
 #include "ngraph/op/argmax.hpp"
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "utils/reduction.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/argmax.hpp b/src/ngraph/frontend/onnx_import/op/argmax.hpp
index c3cd98299..8bfaa8e8e 100644
--- a/src/ngraph/frontend/onnx_import/op/argmax.hpp
+++ b/src/ngraph/frontend/onnx_import/op/argmax.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/argmin.cpp b/src/ngraph/frontend/onnx_import/op/argmin.cpp
index 153df9ea0..b5147a185 100644
--- a/src/ngraph/frontend/onnx_import/op/argmin.cpp
+++ b/src/ngraph/frontend/onnx_import/op/argmin.cpp
@@ -16,7 +16,7 @@
 
 #include "ngraph/op/argmin.hpp"
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "utils/reduction.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/argmin.hpp b/src/ngraph/frontend/onnx_import/op/argmin.hpp
index 2cd74510d..61b65b9b4 100644
--- a/src/ngraph/frontend/onnx_import/op/argmin.hpp
+++ b/src/ngraph/frontend/onnx_import/op/argmin.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/asin.hpp b/src/ngraph/frontend/onnx_import/op/asin.hpp
index 708f487a5..3ce1f1763 100644
--- a/src/ngraph/frontend/onnx_import/op/asin.hpp
+++ b/src/ngraph/frontend/onnx_import/op/asin.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/asin.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/asinh.hpp b/src/ngraph/frontend/onnx_import/op/asinh.hpp
index 645168a83..7c5f84794 100644
--- a/src/ngraph/frontend/onnx_import/op/asinh.hpp
+++ b/src/ngraph/frontend/onnx_import/op/asinh.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/atan.hpp b/src/ngraph/frontend/onnx_import/op/atan.hpp
index 6823a6c2d..a02d6368a 100644
--- a/src/ngraph/frontend/onnx_import/op/atan.hpp
+++ b/src/ngraph/frontend/onnx_import/op/atan.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/atan.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/atanh.hpp b/src/ngraph/frontend/onnx_import/op/atanh.hpp
index ada1db3ed..eb7a1a4c3 100644
--- a/src/ngraph/frontend/onnx_import/op/atanh.hpp
+++ b/src/ngraph/frontend/onnx_import/op/atanh.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/average_pool.cpp b/src/ngraph/frontend/onnx_import/op/average_pool.cpp
index 6d6d6816d..be71c81f8 100644
--- a/src/ngraph/frontend/onnx_import/op/average_pool.cpp
+++ b/src/ngraph/frontend/onnx_import/op/average_pool.cpp
@@ -15,7 +15,6 @@
 //*****************************************************************************
 
 #include "ngraph/node.hpp"
-#include "ngraph/node_vector.hpp"
 #include "ngraph/op/avg_pool.hpp"
 #include "utils/convpool.hpp"
 
diff --git a/src/ngraph/frontend/onnx_import/op/average_pool.hpp b/src/ngraph/frontend/onnx_import/op/average_pool.hpp
index 265054b20..f9c8a2c1c 100644
--- a/src/ngraph/frontend/onnx_import/op/average_pool.hpp
+++ b/src/ngraph/frontend/onnx_import/op/average_pool.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/batch_norm.cpp b/src/ngraph/frontend/onnx_import/op/batch_norm.cpp
index 26a377be1..292b6cd7f 100644
--- a/src/ngraph/frontend/onnx_import/op/batch_norm.cpp
+++ b/src/ngraph/frontend/onnx_import/op/batch_norm.cpp
@@ -20,7 +20,7 @@
 #include "ngraph/frontend/onnx_import/core/null_node.hpp"
 #include "ngraph/frontend/onnx_import/exceptions.hpp"
 #include "ngraph/frontend/onnx_import/op/batch_norm.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/batch_norm.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/cast.hpp b/src/ngraph/frontend/onnx_import/op/cast.hpp
index 9e56d8721..7edf46d74 100644
--- a/src/ngraph/frontend/onnx_import/op/cast.hpp
+++ b/src/ngraph/frontend/onnx_import/op/cast.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/ceil.hpp b/src/ngraph/frontend/onnx_import/op/ceil.hpp
index 0fb965258..0574209f6 100644
--- a/src/ngraph/frontend/onnx_import/op/ceil.hpp
+++ b/src/ngraph/frontend/onnx_import/op/ceil.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/ceiling.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/clip.hpp b/src/ngraph/frontend/onnx_import/op/clip.hpp
index 18e6e63f7..125a912db 100644
--- a/src/ngraph/frontend/onnx_import/op/clip.hpp
+++ b/src/ngraph/frontend/onnx_import/op/clip.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/concat.hpp b/src/ngraph/frontend/onnx_import/op/concat.hpp
index 4df7c90ed..f579bbd56 100644
--- a/src/ngraph/frontend/onnx_import/op/concat.hpp
+++ b/src/ngraph/frontend/onnx_import/op/concat.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/constant.cpp b/src/ngraph/frontend/onnx_import/op/constant.cpp
index da3ed50d6..35f0218d9 100644
--- a/src/ngraph/frontend/onnx_import/op/constant.cpp
+++ b/src/ngraph/frontend/onnx_import/op/constant.cpp
@@ -17,7 +17,7 @@
 #include "ngraph/op/constant.hpp"
 #include "core/node.hpp"
 #include "core/tensor.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/constant.hpp b/src/ngraph/frontend/onnx_import/op/constant.hpp
index b1b807f1c..d9ec356ad 100644
--- a/src/ngraph/frontend/onnx_import/op/constant.hpp
+++ b/src/ngraph/frontend/onnx_import/op/constant.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/conv.hpp b/src/ngraph/frontend/onnx_import/op/conv.hpp
index ce8972ca7..817e47c5f 100644
--- a/src/ngraph/frontend/onnx_import/op/conv.hpp
+++ b/src/ngraph/frontend/onnx_import/op/conv.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/conv_transpose.hpp b/src/ngraph/frontend/onnx_import/op/conv_transpose.hpp
index 78c9d1b57..287adec82 100644
--- a/src/ngraph/frontend/onnx_import/op/conv_transpose.hpp
+++ b/src/ngraph/frontend/onnx_import/op/conv_transpose.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/cos.hpp b/src/ngraph/frontend/onnx_import/op/cos.hpp
index 97a920396..53355b1c6 100644
--- a/src/ngraph/frontend/onnx_import/op/cos.hpp
+++ b/src/ngraph/frontend/onnx_import/op/cos.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/cos.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/cosh.hpp b/src/ngraph/frontend/onnx_import/op/cosh.hpp
index b3cc5f5b0..da009f710 100644
--- a/src/ngraph/frontend/onnx_import/op/cosh.hpp
+++ b/src/ngraph/frontend/onnx_import/op/cosh.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/cosh.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/depth_to_space.hpp b/src/ngraph/frontend/onnx_import/op/depth_to_space.hpp
index d0870309e..4e98e53a2 100644
--- a/src/ngraph/frontend/onnx_import/op/depth_to_space.hpp
+++ b/src/ngraph/frontend/onnx_import/op/depth_to_space.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/dequantize_linear.hpp b/src/ngraph/frontend/onnx_import/op/dequantize_linear.hpp
index d71d99107..a4be26337 100644
--- a/src/ngraph/frontend/onnx_import/op/dequantize_linear.hpp
+++ b/src/ngraph/frontend/onnx_import/op/dequantize_linear.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/div.hpp b/src/ngraph/frontend/onnx_import/op/div.hpp
index ad7d3d6a6..bb1660a23 100644
--- a/src/ngraph/frontend/onnx_import/op/div.hpp
+++ b/src/ngraph/frontend/onnx_import/op/div.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/divide.hpp"
 #include "ngraph/op/util/broadcasting.hpp"
 
diff --git a/src/ngraph/frontend/onnx_import/op/dropout.hpp b/src/ngraph/frontend/onnx_import/op/dropout.hpp
index 857345979..ed5283a84 100644
--- a/src/ngraph/frontend/onnx_import/op/dropout.hpp
+++ b/src/ngraph/frontend/onnx_import/op/dropout.hpp
@@ -20,7 +20,7 @@
 
 #include "core/node.hpp"
 #include "core/null_node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/elu.hpp b/src/ngraph/frontend/onnx_import/op/elu.hpp
index a7e7e8d87..3c8fd6504 100644
--- a/src/ngraph/frontend/onnx_import/op/elu.hpp
+++ b/src/ngraph/frontend/onnx_import/op/elu.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/equal.hpp b/src/ngraph/frontend/onnx_import/op/equal.hpp
index c50332f79..ae40f0785 100644
--- a/src/ngraph/frontend/onnx_import/op/equal.hpp
+++ b/src/ngraph/frontend/onnx_import/op/equal.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/equal.hpp"
 #include "ngraph/op/util/broadcasting.hpp"
 
diff --git a/src/ngraph/frontend/onnx_import/op/erf.hpp b/src/ngraph/frontend/onnx_import/op/erf.hpp
index b5bebf771..624717705 100644
--- a/src/ngraph/frontend/onnx_import/op/erf.hpp
+++ b/src/ngraph/frontend/onnx_import/op/erf.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/erf.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/exp.hpp b/src/ngraph/frontend/onnx_import/op/exp.hpp
index 0bf4d8093..c385619b7 100644
--- a/src/ngraph/frontend/onnx_import/op/exp.hpp
+++ b/src/ngraph/frontend/onnx_import/op/exp.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/exp.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/flatten.hpp b/src/ngraph/frontend/onnx_import/op/flatten.hpp
index 096203f6b..5e64d88a6 100644
--- a/src/ngraph/frontend/onnx_import/op/flatten.hpp
+++ b/src/ngraph/frontend/onnx_import/op/flatten.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/floor.hpp b/src/ngraph/frontend/onnx_import/op/floor.hpp
index d20bb8f6a..51c3643c4 100644
--- a/src/ngraph/frontend/onnx_import/op/floor.hpp
+++ b/src/ngraph/frontend/onnx_import/op/floor.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/floor.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/gather.hpp b/src/ngraph/frontend/onnx_import/op/gather.hpp
index ca5ba50a0..67c93aa9c 100644
--- a/src/ngraph/frontend/onnx_import/op/gather.hpp
+++ b/src/ngraph/frontend/onnx_import/op/gather.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/gather.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/gemm.hpp b/src/ngraph/frontend/onnx_import/op/gemm.hpp
index ec6777ecb..64bdfc644 100644
--- a/src/ngraph/frontend/onnx_import/op/gemm.hpp
+++ b/src/ngraph/frontend/onnx_import/op/gemm.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/global_average_pool.cpp b/src/ngraph/frontend/onnx_import/op/global_average_pool.cpp
index eb99af16b..a44d72c7a 100644
--- a/src/ngraph/frontend/onnx_import/op/global_average_pool.cpp
+++ b/src/ngraph/frontend/onnx_import/op/global_average_pool.cpp
@@ -15,7 +15,7 @@
 //*****************************************************************************
 
 #include "ngraph/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/avg_pool.hpp"
 #include "utils/convpool.hpp"
 
diff --git a/src/ngraph/frontend/onnx_import/op/global_average_pool.hpp b/src/ngraph/frontend/onnx_import/op/global_average_pool.hpp
index 277d51eed..174e5e860 100644
--- a/src/ngraph/frontend/onnx_import/op/global_average_pool.hpp
+++ b/src/ngraph/frontend/onnx_import/op/global_average_pool.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/global_max_pool.cpp b/src/ngraph/frontend/onnx_import/op/global_max_pool.cpp
index d15b90b5c..54f72f872 100644
--- a/src/ngraph/frontend/onnx_import/op/global_max_pool.cpp
+++ b/src/ngraph/frontend/onnx_import/op/global_max_pool.cpp
@@ -15,7 +15,7 @@
 //*****************************************************************************
 
 #include "ngraph/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/max_pool.hpp"
 #include "utils/convpool.hpp"
 
diff --git a/src/ngraph/frontend/onnx_import/op/global_max_pool.hpp b/src/ngraph/frontend/onnx_import/op/global_max_pool.hpp
index 651e0964d..64aa6594c 100644
--- a/src/ngraph/frontend/onnx_import/op/global_max_pool.hpp
+++ b/src/ngraph/frontend/onnx_import/op/global_max_pool.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/greater.hpp b/src/ngraph/frontend/onnx_import/op/greater.hpp
index 08397c344..87db1bb31 100644
--- a/src/ngraph/frontend/onnx_import/op/greater.hpp
+++ b/src/ngraph/frontend/onnx_import/op/greater.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/greater.hpp"
 #include "ngraph/op/util/broadcasting.hpp"
 
diff --git a/src/ngraph/frontend/onnx_import/op/hard_sigmoid.hpp b/src/ngraph/frontend/onnx_import/op/hard_sigmoid.hpp
index 802c53661..6ef07cfc6 100644
--- a/src/ngraph/frontend/onnx_import/op/hard_sigmoid.hpp
+++ b/src/ngraph/frontend/onnx_import/op/hard_sigmoid.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/identity.hpp b/src/ngraph/frontend/onnx_import/op/identity.hpp
index f1a5dfa8d..42b6fe98d 100644
--- a/src/ngraph/frontend/onnx_import/op/identity.hpp
+++ b/src/ngraph/frontend/onnx_import/op/identity.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/leaky_relu.cpp b/src/ngraph/frontend/onnx_import/op/leaky_relu.cpp
index a6e4804c1..1a382a13a 100644
--- a/src/ngraph/frontend/onnx_import/op/leaky_relu.cpp
+++ b/src/ngraph/frontend/onnx_import/op/leaky_relu.cpp
@@ -18,7 +18,7 @@
 
 #include "exceptions.hpp"
 #include "ngraph/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/broadcast.hpp"
 #include "ngraph/op/constant.hpp"
 #include "ngraph/op/maximum.hpp"
diff --git a/src/ngraph/frontend/onnx_import/op/leaky_relu.hpp b/src/ngraph/frontend/onnx_import/op/leaky_relu.hpp
index 27fc243d4..27afca35b 100644
--- a/src/ngraph/frontend/onnx_import/op/leaky_relu.hpp
+++ b/src/ngraph/frontend/onnx_import/op/leaky_relu.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/less.hpp b/src/ngraph/frontend/onnx_import/op/less.hpp
index 0bc7301bf..daebdb236 100644
--- a/src/ngraph/frontend/onnx_import/op/less.hpp
+++ b/src/ngraph/frontend/onnx_import/op/less.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/less.hpp"
 #include "ngraph/op/util/broadcasting.hpp"
 
diff --git a/src/ngraph/frontend/onnx_import/op/log.hpp b/src/ngraph/frontend/onnx_import/op/log.hpp
index 904150849..6235ee27f 100644
--- a/src/ngraph/frontend/onnx_import/op/log.hpp
+++ b/src/ngraph/frontend/onnx_import/op/log.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/log.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/log_softmax.hpp b/src/ngraph/frontend/onnx_import/op/log_softmax.hpp
index bec789e63..0a73279a1 100644
--- a/src/ngraph/frontend/onnx_import/op/log_softmax.hpp
+++ b/src/ngraph/frontend/onnx_import/op/log_softmax.hpp
@@ -21,7 +21,6 @@
 #include "core/node.hpp"
 #include "ngraph/frontend/onnx_import/op/softmax.hpp"
 #include "ngraph/node.hpp"
-#include "ngraph/node_vector.hpp"
 #include "ngraph/op/log.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/lp_pool.hpp b/src/ngraph/frontend/onnx_import/op/lp_pool.hpp
index 8a0dde54d..f4a3370c3 100644
--- a/src/ngraph/frontend/onnx_import/op/lp_pool.hpp
+++ b/src/ngraph/frontend/onnx_import/op/lp_pool.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/lrn.hpp b/src/ngraph/frontend/onnx_import/op/lrn.hpp
index 0839067da..ada6a7609 100644
--- a/src/ngraph/frontend/onnx_import/op/lrn.hpp
+++ b/src/ngraph/frontend/onnx_import/op/lrn.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/lstm.hpp b/src/ngraph/frontend/onnx_import/op/lstm.hpp
index 50a4e5f40..ed28981a9 100644
--- a/src/ngraph/frontend/onnx_import/op/lstm.hpp
+++ b/src/ngraph/frontend/onnx_import/op/lstm.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/matmul.hpp b/src/ngraph/frontend/onnx_import/op/matmul.hpp
index 417297fa2..fb46c3b81 100644
--- a/src/ngraph/frontend/onnx_import/op/matmul.hpp
+++ b/src/ngraph/frontend/onnx_import/op/matmul.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/max.hpp b/src/ngraph/frontend/onnx_import/op/max.hpp
index 57610af98..93bac1f84 100644
--- a/src/ngraph/frontend/onnx_import/op/max.hpp
+++ b/src/ngraph/frontend/onnx_import/op/max.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/maximum.hpp"
 #include "utils/variadic.hpp"
 
diff --git a/src/ngraph/frontend/onnx_import/op/max_pool.cpp b/src/ngraph/frontend/onnx_import/op/max_pool.cpp
index 9077dd269..ddbefc2fa 100644
--- a/src/ngraph/frontend/onnx_import/op/max_pool.cpp
+++ b/src/ngraph/frontend/onnx_import/op/max_pool.cpp
@@ -17,7 +17,6 @@
 #include "ngraph/op/max_pool.hpp"
 #include "core/null_node.hpp"
 #include "ngraph/node.hpp"
-#include "ngraph/node_vector.hpp"
 #include "utils/convpool.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/max_pool.hpp b/src/ngraph/frontend/onnx_import/op/max_pool.hpp
index 84ac66c8f..7cb25f984 100644
--- a/src/ngraph/frontend/onnx_import/op/max_pool.hpp
+++ b/src/ngraph/frontend/onnx_import/op/max_pool.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/mean.hpp b/src/ngraph/frontend/onnx_import/op/mean.hpp
index 7aa6b1853..cea33021b 100644
--- a/src/ngraph/frontend/onnx_import/op/mean.hpp
+++ b/src/ngraph/frontend/onnx_import/op/mean.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/min.hpp b/src/ngraph/frontend/onnx_import/op/min.hpp
index 3c5212dba..a0f1ecb10 100644
--- a/src/ngraph/frontend/onnx_import/op/min.hpp
+++ b/src/ngraph/frontend/onnx_import/op/min.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/minimum.hpp"
 #include "utils/variadic.hpp"
 
diff --git a/src/ngraph/frontend/onnx_import/op/mul.hpp b/src/ngraph/frontend/onnx_import/op/mul.hpp
index 88cc988b0..6f5724056 100644
--- a/src/ngraph/frontend/onnx_import/op/mul.hpp
+++ b/src/ngraph/frontend/onnx_import/op/mul.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/broadcast.hpp"
 #include "ngraph/op/multiply.hpp"
 #include "ngraph/op/util/broadcasting.hpp"
diff --git a/src/ngraph/frontend/onnx_import/op/neg.hpp b/src/ngraph/frontend/onnx_import/op/neg.hpp
index 7f8af4965..0ae0c6598 100644
--- a/src/ngraph/frontend/onnx_import/op/neg.hpp
+++ b/src/ngraph/frontend/onnx_import/op/neg.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/negative.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/not.hpp b/src/ngraph/frontend/onnx_import/op/not.hpp
index 6d915e93d..9cc226d35 100644
--- a/src/ngraph/frontend/onnx_import/op/not.hpp
+++ b/src/ngraph/frontend/onnx_import/op/not.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/not.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/onehot.hpp b/src/ngraph/frontend/onnx_import/op/onehot.hpp
index 8645133d9..b1f5afb11 100644
--- a/src/ngraph/frontend/onnx_import/op/onehot.hpp
+++ b/src/ngraph/frontend/onnx_import/op/onehot.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/or.hpp b/src/ngraph/frontend/onnx_import/op/or.hpp
index 2d7d8ae83..1eb7b2fbf 100644
--- a/src/ngraph/frontend/onnx_import/op/or.hpp
+++ b/src/ngraph/frontend/onnx_import/op/or.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/or.hpp"
 #include "ngraph/op/util/broadcasting.hpp"
 
diff --git a/src/ngraph/frontend/onnx_import/op/pad.hpp b/src/ngraph/frontend/onnx_import/op/pad.hpp
index 1a527a998..1c3bba965 100644
--- a/src/ngraph/frontend/onnx_import/op/pad.hpp
+++ b/src/ngraph/frontend/onnx_import/op/pad.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "ngraph/frontend/onnx_import/core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/pow.hpp b/src/ngraph/frontend/onnx_import/op/pow.hpp
index 39ea214f1..69d2d8ea5 100644
--- a/src/ngraph/frontend/onnx_import/op/pow.hpp
+++ b/src/ngraph/frontend/onnx_import/op/pow.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/power.hpp"
 #include "ngraph/op/util/broadcasting.hpp"
 
diff --git a/src/ngraph/frontend/onnx_import/op/prelu.hpp b/src/ngraph/frontend/onnx_import/op/prelu.hpp
index 113463113..46d8038be 100644
--- a/src/ngraph/frontend/onnx_import/op/prelu.hpp
+++ b/src/ngraph/frontend/onnx_import/op/prelu.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/quant_conv.hpp b/src/ngraph/frontend/onnx_import/op/quant_conv.hpp
index 177801994..ac54bdc81 100644
--- a/src/ngraph/frontend/onnx_import/op/quant_conv.hpp
+++ b/src/ngraph/frontend/onnx_import/op/quant_conv.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/quantize_linear.hpp b/src/ngraph/frontend/onnx_import/op/quantize_linear.hpp
index d57c9b9ef..b1a37522b 100644
--- a/src/ngraph/frontend/onnx_import/op/quantize_linear.hpp
+++ b/src/ngraph/frontend/onnx_import/op/quantize_linear.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/quantized_matmul.hpp b/src/ngraph/frontend/onnx_import/op/quantized_matmul.hpp
index b6bde4cc3..5efbbafa5 100644
--- a/src/ngraph/frontend/onnx_import/op/quantized_matmul.hpp
+++ b/src/ngraph/frontend/onnx_import/op/quantized_matmul.hpp
@@ -18,7 +18,7 @@
 
 #include "core/node.hpp"
 #include "ngraph/frontend/onnx_import/op/matmul.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/reciprocal.hpp b/src/ngraph/frontend/onnx_import/op/reciprocal.hpp
index 78243549b..6ddbc074d 100644
--- a/src/ngraph/frontend/onnx_import/op/reciprocal.hpp
+++ b/src/ngraph/frontend/onnx_import/op/reciprocal.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/reduce.hpp b/src/ngraph/frontend/onnx_import/op/reduce.hpp
index ae9280735..b5de2efc7 100644
--- a/src/ngraph/frontend/onnx_import/op/reduce.hpp
+++ b/src/ngraph/frontend/onnx_import/op/reduce.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/abs.hpp"
 #include "ngraph/op/exp.hpp"
 #include "ngraph/op/log.hpp"
diff --git a/src/ngraph/frontend/onnx_import/op/relu.hpp b/src/ngraph/frontend/onnx_import/op/relu.hpp
index 790dc2ad3..60e3efba9 100644
--- a/src/ngraph/frontend/onnx_import/op/relu.hpp
+++ b/src/ngraph/frontend/onnx_import/op/relu.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/relu.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/reshape.hpp b/src/ngraph/frontend/onnx_import/op/reshape.hpp
index 1545fbe1a..5246d1d59 100644
--- a/src/ngraph/frontend/onnx_import/op/reshape.hpp
+++ b/src/ngraph/frontend/onnx_import/op/reshape.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/selu.cpp b/src/ngraph/frontend/onnx_import/op/selu.cpp
index 74ed300f9..7981935e9 100644
--- a/src/ngraph/frontend/onnx_import/op/selu.cpp
+++ b/src/ngraph/frontend/onnx_import/op/selu.cpp
@@ -19,7 +19,6 @@
 
 #include "core/node.hpp"
 #include "ngraph/node.hpp"
-#include "ngraph/node_vector.hpp"
 #include "ngraph/op/add.hpp"
 #include "ngraph/op/broadcast.hpp"
 #include "ngraph/op/constant.hpp"
diff --git a/src/ngraph/frontend/onnx_import/op/selu.hpp b/src/ngraph/frontend/onnx_import/op/selu.hpp
index 4869e46da..87ca4ed9e 100644
--- a/src/ngraph/frontend/onnx_import/op/selu.hpp
+++ b/src/ngraph/frontend/onnx_import/op/selu.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/shape.hpp b/src/ngraph/frontend/onnx_import/op/shape.hpp
index be06bca61..7ed7f346e 100644
--- a/src/ngraph/frontend/onnx_import/op/shape.hpp
+++ b/src/ngraph/frontend/onnx_import/op/shape.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/sigmoid.hpp b/src/ngraph/frontend/onnx_import/op/sigmoid.hpp
index 1988947e5..7f0f1f2fb 100644
--- a/src/ngraph/frontend/onnx_import/op/sigmoid.hpp
+++ b/src/ngraph/frontend/onnx_import/op/sigmoid.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/sigmoid.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/sign.hpp b/src/ngraph/frontend/onnx_import/op/sign.hpp
index f7f5e1a19..4e5f46cef 100644
--- a/src/ngraph/frontend/onnx_import/op/sign.hpp
+++ b/src/ngraph/frontend/onnx_import/op/sign.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/sign.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/sin.hpp b/src/ngraph/frontend/onnx_import/op/sin.hpp
index 45e6faabc..3873b693e 100644
--- a/src/ngraph/frontend/onnx_import/op/sin.hpp
+++ b/src/ngraph/frontend/onnx_import/op/sin.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/sin.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/sinh.hpp b/src/ngraph/frontend/onnx_import/op/sinh.hpp
index e46d73623..1a02a5bd5 100644
--- a/src/ngraph/frontend/onnx_import/op/sinh.hpp
+++ b/src/ngraph/frontend/onnx_import/op/sinh.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/sinh.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/size.hpp b/src/ngraph/frontend/onnx_import/op/size.hpp
index ca032f9ba..b1ae610e8 100644
--- a/src/ngraph/frontend/onnx_import/op/size.hpp
+++ b/src/ngraph/frontend/onnx_import/op/size.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/slice.hpp b/src/ngraph/frontend/onnx_import/op/slice.hpp
index 2679648bc..cfa91f661 100644
--- a/src/ngraph/frontend/onnx_import/op/slice.hpp
+++ b/src/ngraph/frontend/onnx_import/op/slice.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/softplus.hpp b/src/ngraph/frontend/onnx_import/op/softplus.hpp
index 7ee5aaf61..f9513c1d6 100644
--- a/src/ngraph/frontend/onnx_import/op/softplus.hpp
+++ b/src/ngraph/frontend/onnx_import/op/softplus.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/softsign.hpp b/src/ngraph/frontend/onnx_import/op/softsign.hpp
index 9d7cb5db6..e117447e0 100644
--- a/src/ngraph/frontend/onnx_import/op/softsign.hpp
+++ b/src/ngraph/frontend/onnx_import/op/softsign.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/space_to_depth.hpp b/src/ngraph/frontend/onnx_import/op/space_to_depth.hpp
index eb0ef7ae5..0487ee408 100644
--- a/src/ngraph/frontend/onnx_import/op/space_to_depth.hpp
+++ b/src/ngraph/frontend/onnx_import/op/space_to_depth.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/split.hpp b/src/ngraph/frontend/onnx_import/op/split.hpp
index eac509b12..487232a73 100644
--- a/src/ngraph/frontend/onnx_import/op/split.hpp
+++ b/src/ngraph/frontend/onnx_import/op/split.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "ngraph/frontend/onnx_import/core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/sqrt.hpp b/src/ngraph/frontend/onnx_import/op/sqrt.hpp
index fdc59c40f..853abaa35 100644
--- a/src/ngraph/frontend/onnx_import/op/sqrt.hpp
+++ b/src/ngraph/frontend/onnx_import/op/sqrt.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/sqrt.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/squeeze.hpp b/src/ngraph/frontend/onnx_import/op/squeeze.hpp
index e57fe057e..4e060176f 100644
--- a/src/ngraph/frontend/onnx_import/op/squeeze.hpp
+++ b/src/ngraph/frontend/onnx_import/op/squeeze.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/sub.hpp b/src/ngraph/frontend/onnx_import/op/sub.hpp
index ab96d9ac6..eaaca2544 100644
--- a/src/ngraph/frontend/onnx_import/op/sub.hpp
+++ b/src/ngraph/frontend/onnx_import/op/sub.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/subtract.hpp"
 #include "ngraph/op/util/broadcasting.hpp"
 
diff --git a/src/ngraph/frontend/onnx_import/op/sum.hpp b/src/ngraph/frontend/onnx_import/op/sum.hpp
index 7ca72a4a1..d9a1b59e9 100644
--- a/src/ngraph/frontend/onnx_import/op/sum.hpp
+++ b/src/ngraph/frontend/onnx_import/op/sum.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/add.hpp"
 #include "utils/variadic.hpp"
 
diff --git a/src/ngraph/frontend/onnx_import/op/tan.hpp b/src/ngraph/frontend/onnx_import/op/tan.hpp
index 7fbe4532e..7d137ef6e 100644
--- a/src/ngraph/frontend/onnx_import/op/tan.hpp
+++ b/src/ngraph/frontend/onnx_import/op/tan.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/tan.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/tanh.hpp b/src/ngraph/frontend/onnx_import/op/tanh.hpp
index 9731d481f..cdf5d0400 100644
--- a/src/ngraph/frontend/onnx_import/op/tanh.hpp
+++ b/src/ngraph/frontend/onnx_import/op/tanh.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/tanh.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/frontend/onnx_import/op/thresholded_relu.hpp b/src/ngraph/frontend/onnx_import/op/thresholded_relu.hpp
index ab631f030..a1a78d77c 100644
--- a/src/ngraph/frontend/onnx_import/op/thresholded_relu.hpp
+++ b/src/ngraph/frontend/onnx_import/op/thresholded_relu.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/topk.hpp b/src/ngraph/frontend/onnx_import/op/topk.hpp
index 1a8fc4327..2992986d7 100644
--- a/src/ngraph/frontend/onnx_import/op/topk.hpp
+++ b/src/ngraph/frontend/onnx_import/op/topk.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/transpose.hpp b/src/ngraph/frontend/onnx_import/op/transpose.hpp
index 99cb181e7..d8ca5ae9f 100644
--- a/src/ngraph/frontend/onnx_import/op/transpose.hpp
+++ b/src/ngraph/frontend/onnx_import/op/transpose.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/unsqueeze.hpp b/src/ngraph/frontend/onnx_import/op/unsqueeze.hpp
index 268307aaf..5f9bcfe07 100644
--- a/src/ngraph/frontend/onnx_import/op/unsqueeze.hpp
+++ b/src/ngraph/frontend/onnx_import/op/unsqueeze.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/op/where.hpp b/src/ngraph/frontend/onnx_import/op/where.hpp
index f4474d3b6..f74bc7ea8 100644
--- a/src/ngraph/frontend/onnx_import/op/where.hpp
+++ b/src/ngraph/frontend/onnx_import/op/where.hpp
@@ -19,7 +19,7 @@
 #include <memory>
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/select.hpp"
 #include "ngraph/op/util/broadcasting.hpp"
 
diff --git a/src/ngraph/frontend/onnx_import/op/xor.hpp b/src/ngraph/frontend/onnx_import/op/xor.hpp
index 48a32cd5f..bd47e85b4 100644
--- a/src/ngraph/frontend/onnx_import/op/xor.hpp
+++ b/src/ngraph/frontend/onnx_import/op/xor.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "core/node.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/and.hpp"
 #include "ngraph/op/not.hpp"
 #include "ngraph/op/or.hpp"
diff --git a/src/ngraph/frontend/onnx_import/utils/norm.hpp b/src/ngraph/frontend/onnx_import/utils/norm.hpp
index 9167dc612..1d8b1e359 100644
--- a/src/ngraph/frontend/onnx_import/utils/norm.hpp
+++ b/src/ngraph/frontend/onnx_import/utils/norm.hpp
@@ -19,7 +19,6 @@
 
 #include "ngraph/axis_set.hpp"
 #include "ngraph/node.hpp"
-#include "ngraph/node_vector.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/frontend/onnx_import/utils/reshape.hpp b/src/ngraph/frontend/onnx_import/utils/reshape.hpp
index 50b8c325a..ed6d9bb4e 100644
--- a/src/ngraph/frontend/onnx_import/utils/reshape.hpp
+++ b/src/ngraph/frontend/onnx_import/utils/reshape.hpp
@@ -23,7 +23,6 @@
 
 #include "ngraph/axis_vector.hpp"
 #include "ngraph/node.hpp"
-#include "ngraph/node_vector.hpp"
 #include "ngraph/op/util/reshape.hpp"
 #include "ngraph/shape.hpp"
 
diff --git a/src/ngraph/frontend/onnx_import/utils/variadic.hpp b/src/ngraph/frontend/onnx_import/utils/variadic.hpp
index 70c14e251..65544a364 100644
--- a/src/ngraph/frontend/onnx_import/utils/variadic.hpp
+++ b/src/ngraph/frontend/onnx_import/utils/variadic.hpp
@@ -20,8 +20,7 @@
 
 #include "core/node.hpp"
 #include "ngraph/coordinate_diff.hpp"
-#include "ngraph/node_vector.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/add.hpp"
 #include "ngraph/op/util/broadcasting.hpp"
 #include "ngraph/shape.hpp"
diff --git a/src/ngraph/function.hpp b/src/ngraph/function.hpp
index 4780a24de..5517deff3 100644
--- a/src/ngraph/function.hpp
+++ b/src/ngraph/function.hpp
@@ -24,8 +24,8 @@
 #include <vector>
 
 #include "ngraph/node.hpp"
-#include "ngraph/parameter_vector.hpp"
-#include "ngraph/result_vector.hpp"
+#include "ngraph/op/parameter.hpp"
+#include "ngraph/op/result.hpp"
 
 namespace ngraph
 {
diff --git a/src/ngraph/graph_util.cpp b/src/ngraph/graph_util.cpp
index a1197228f..e88944692 100644
--- a/src/ngraph/graph_util.cpp
+++ b/src/ngraph/graph_util.cpp
@@ -25,15 +25,14 @@
 #include "ngraph/graph_util.hpp"
 #include "ngraph/log.hpp"
 #include "ngraph/node.hpp"
-#include "ngraph/node_vector.hpp"
 #include "ngraph/op/broadcast.hpp"
 #include "ngraph/op/constant.hpp"
 #include "ngraph/op/parameter.hpp"
 #include "ngraph/op/result.hpp"
+#include "ngraph/op/result.hpp"
 #include "ngraph/pass/manager.hpp"
 #include "ngraph/pass/visualize_tree.hpp"
 #include "ngraph/provenance.hpp"
-#include "ngraph/result_vector.hpp"
 #include "ngraph/util.hpp"
 
 using namespace std;
diff --git a/src/ngraph/node.hpp b/src/ngraph/node.hpp
index 33618afc1..0043a2f8d 100644
--- a/src/ngraph/node.hpp
+++ b/src/ngraph/node.hpp
@@ -30,12 +30,13 @@
 
 #include "ngraph/autodiff/adjoints.hpp"
 #include "ngraph/check.hpp"
+#include "ngraph/coordinate.hpp"
 #include "ngraph/deprecated.hpp"
 #include "ngraph/descriptor/input.hpp"
 #include "ngraph/descriptor/output.hpp"
 #include "ngraph/descriptor/tensor.hpp"
-#include "ngraph/node_vector.hpp"
 #include "ngraph/placement.hpp"
+#include "ngraph/strides.hpp"
 
 namespace ngraph
 {
@@ -45,11 +46,21 @@ namespace ngraph
     template <typename NodeType>
     class Output;
 
+    class Node;
+    using NodeVector = std::vector<std::shared_ptr<Node>>;
+
+    class Function;
+
     namespace op
     {
         class Constant;
     } // namespace op
 
+    namespace autodiff
+    {
+        class Adjoints;
+    }
+
     std::string node_validation_failure_loc_string(const Node* node);
 
     const std::shared_ptr<Node>& check_single_output_arg(const std::shared_ptr<Node>& node,
diff --git a/src/ngraph/node_vector.hpp b/src/ngraph/node_vector.hpp
deleted file mode 100644
index 713ba31a7..000000000
--- a/src/ngraph/node_vector.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-//*****************************************************************************
-// Copyright 2017-2019 Intel Corporation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//*****************************************************************************
-
-#pragma once
-
-#include <memory>
-#include <vector>
-
-namespace ngraph
-{
-    class Node;
-
-    namespace op
-    {
-        class Result;
-    }
-
-    /// \brief Zero or more nodes.
-    class NodeVector : public std::vector<std::shared_ptr<Node>>
-    {
-    public:
-        NodeVector(const std::initializer_list<std::shared_ptr<Node>>& nodes)
-            : std::vector<std::shared_ptr<Node>>(nodes)
-        {
-        }
-
-        NodeVector(const std::vector<std::shared_ptr<Node>>& nodes)
-            : std::vector<std::shared_ptr<Node>>(nodes)
-        {
-        }
-
-        NodeVector(const NodeVector& nodes)
-            : std::vector<std::shared_ptr<Node>>(nodes)
-        {
-        }
-
-        NodeVector(size_t size)
-            : std::vector<std::shared_ptr<Node>>(size)
-        {
-        }
-
-        NodeVector& operator=(const NodeVector& other) = default;
-
-        NodeVector() {}
-    };
-}
diff --git a/src/ngraph/op/batch_norm.hpp b/src/ngraph/op/batch_norm.hpp
index 6ab957678..959808418 100644
--- a/src/ngraph/op/batch_norm.hpp
+++ b/src/ngraph/op/batch_norm.hpp
@@ -19,7 +19,6 @@
 #include <memory>
 
 #include "ngraph/node.hpp"
-#include "ngraph/node_vector.hpp"
 #include "ngraph/op/op.hpp"
 #include "ngraph/util.hpp"
 
diff --git a/src/ngraph/op/experimental/dyn_reshape.hpp b/src/ngraph/op/experimental/dyn_reshape.hpp
index a441f595c..9fec55b05 100644
--- a/src/ngraph/op/experimental/dyn_reshape.hpp
+++ b/src/ngraph/op/experimental/dyn_reshape.hpp
@@ -16,7 +16,7 @@
 
 #pragma once
 
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/op.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/op/experimental/dyn_slice.hpp b/src/ngraph/op/experimental/dyn_slice.hpp
index 0c52a56dc..6745914bd 100644
--- a/src/ngraph/op/experimental/dyn_slice.hpp
+++ b/src/ngraph/op/experimental/dyn_slice.hpp
@@ -16,7 +16,7 @@
 
 #pragma once
 
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/op.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/op/experimental/transpose.hpp b/src/ngraph/op/experimental/transpose.hpp
index ddcadeeea..12ae2e2eb 100644
--- a/src/ngraph/op/experimental/transpose.hpp
+++ b/src/ngraph/op/experimental/transpose.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "ngraph/axis_vector.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/op.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/op/op.cpp b/src/ngraph/op/op.cpp
index e7250726d..e9713760d 100644
--- a/src/ngraph/op/op.cpp
+++ b/src/ngraph/op/op.cpp
@@ -18,7 +18,7 @@
 #include <memory>
 #include <sstream>
 
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/op.hpp"
 #include "ngraph/type/element_type.hpp"
 
diff --git a/src/ngraph/op/op.hpp b/src/ngraph/op/op.hpp
index c218c7563..dbf0eecb0 100644
--- a/src/ngraph/op/op.hpp
+++ b/src/ngraph/op/op.hpp
@@ -18,6 +18,7 @@
 
 #include <string>
 
+#include "ngraph/autodiff/adjoints.hpp"
 #include "ngraph/node.hpp"
 #include "ngraph/op/util/op_annotations.hpp"
 
diff --git a/src/ngraph/op/parameter.hpp b/src/ngraph/op/parameter.hpp
index 62f7b0206..cd197ab90 100644
--- a/src/ngraph/op/parameter.hpp
+++ b/src/ngraph/op/parameter.hpp
@@ -60,4 +60,5 @@ namespace ngraph
             bool m_is_relevant_to_shapes;
         };
     }
+    using ParameterVector = std::vector<std::shared_ptr<op::Parameter>>;
 }
diff --git a/src/ngraph/op/reshape.hpp b/src/ngraph/op/reshape.hpp
index cb3e7c956..314e2e7b7 100644
--- a/src/ngraph/op/reshape.hpp
+++ b/src/ngraph/op/reshape.hpp
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "ngraph/axis_vector.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/op/op.hpp"
 
 namespace ngraph
diff --git a/src/ngraph/op/result.hpp b/src/ngraph/op/result.hpp
index 12e9b9322..50344493c 100644
--- a/src/ngraph/op/result.hpp
+++ b/src/ngraph/op/result.hpp
@@ -48,4 +48,5 @@ namespace ngraph
             bool m_needs_default_layout{false};
         };
     }
+    using ResultVector = std::vector<std::shared_ptr<op::Result>>;
 }
diff --git a/src/ngraph/parameter_vector.hpp b/src/ngraph/parameter_vector.hpp
deleted file mode 100644
index 7687d493a..000000000
--- a/src/ngraph/parameter_vector.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//*****************************************************************************
-// Copyright 2017-2019 Intel Corporation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//*****************************************************************************
-
-#pragma once
-
-#include <memory>
-#include <vector>
-
-#include "ngraph/op/parameter.hpp"
-
-namespace ngraph
-{
-    /// \brief Zero or more nodes.
-    class ParameterVector : public std::vector<std::shared_ptr<op::Parameter>>
-    {
-    public:
-        ParameterVector(const std::initializer_list<std::shared_ptr<op::Parameter>>& parameters)
-            : std::vector<std::shared_ptr<op::Parameter>>(parameters)
-        {
-        }
-
-        ParameterVector(const std::vector<std::shared_ptr<op::Parameter>>& parameters)
-            : std::vector<std::shared_ptr<op::Parameter>>(parameters)
-        {
-        }
-
-        ParameterVector(const ParameterVector& parameters)
-            : std::vector<std::shared_ptr<op::Parameter>>(parameters)
-        {
-        }
-
-        ParameterVector& operator=(const ParameterVector& parameters) = default;
-
-        ParameterVector() {}
-    };
-}
diff --git a/src/ngraph/result_vector.hpp b/src/ngraph/result_vector.hpp
deleted file mode 100644
index b648b2ac2..000000000
--- a/src/ngraph/result_vector.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-//*****************************************************************************
-// Copyright 2017-2019 Intel Corporation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//*****************************************************************************
-
-#pragma once
-
-#include <memory>
-#include <vector>
-
-#include "ngraph/op/result.hpp"
-
-namespace ngraph
-{
-    /// \brief Zero or more nodes.
-    class ResultVector : public std::vector<std::shared_ptr<op::Result>>
-    {
-    public:
-        ResultVector(size_t size)
-            : std::vector<std::shared_ptr<op::Result>>(size)
-        {
-        }
-
-        ResultVector(const std::initializer_list<std::shared_ptr<op::Result>>& nodes)
-            : std::vector<std::shared_ptr<op::Result>>(nodes)
-        {
-        }
-
-        ResultVector(const std::vector<std::shared_ptr<op::Result>>& nodes)
-            : std::vector<std::shared_ptr<op::Result>>(nodes)
-        {
-        }
-
-        ResultVector(const ResultVector& nodes)
-            : std::vector<std::shared_ptr<op::Result>>(nodes)
-        {
-        }
-
-        ResultVector& operator=(const ResultVector&) = default;
-
-        ResultVector() {}
-    };
-}
diff --git a/src/ngraph/runtime/cpu/op/batch_norm_relu.hpp b/src/ngraph/runtime/cpu/op/batch_norm_relu.hpp
index 79068de94..5e1156340 100644
--- a/src/ngraph/runtime/cpu/op/batch_norm_relu.hpp
+++ b/src/ngraph/runtime/cpu/op/batch_norm_relu.hpp
@@ -19,7 +19,6 @@
 #include <memory>
 
 #include "ngraph/node.hpp"
-#include "ngraph/node_vector.hpp"
 #include "ngraph/op/op.hpp"
 #include "ngraph/runtime/cpu/cpu_backend_visibility.h"
 #include "ngraph/util.hpp"
diff --git a/src/ngraph/runtime/cpu/pass/cpu_workspace_insertion.hpp b/src/ngraph/runtime/cpu/pass/cpu_workspace_insertion.hpp
index 0393a43cb..88179c18d 100644
--- a/src/ngraph/runtime/cpu/pass/cpu_workspace_insertion.hpp
+++ b/src/ngraph/runtime/cpu/pass/cpu_workspace_insertion.hpp
@@ -15,7 +15,7 @@
 
 #pragma once
 
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/pass/pass.hpp"
 #include "ngraph/pattern/matcher.hpp"
 #include "ngraph/runtime/cpu/cpu_backend_visibility.h"
diff --git a/src/ngraph/runtime/gpu/op/batch_norm.hpp b/src/ngraph/runtime/gpu/op/batch_norm.hpp
index 845cb1605..12844e2bc 100644
--- a/src/ngraph/runtime/gpu/op/batch_norm.hpp
+++ b/src/ngraph/runtime/gpu/op/batch_norm.hpp
@@ -21,7 +21,6 @@
 #include "ngraph/op/batch_norm.hpp"
 
 #include "ngraph/node.hpp"
-#include "ngraph/node_vector.hpp"
 #include "ngraph/op/op.hpp"
 #include "ngraph/util.hpp"
 
diff --git a/src/ngraph/runtime/hybrid/hybrid_executable.hpp b/src/ngraph/runtime/hybrid/hybrid_executable.hpp
index ea61eae80..f39d90f63 100644
--- a/src/ngraph/runtime/hybrid/hybrid_executable.hpp
+++ b/src/ngraph/runtime/hybrid/hybrid_executable.hpp
@@ -27,6 +27,8 @@ namespace ngraph
 {
     namespace runtime
     {
+        class Backend;
+
         namespace hybrid
         {
             class HybridExecutable;
diff --git a/src/ngraph/runtime/hybrid/hybrid_util.hpp b/src/ngraph/runtime/hybrid/hybrid_util.hpp
index 06978eefc..fe9e49490 100644
--- a/src/ngraph/runtime/hybrid/hybrid_util.hpp
+++ b/src/ngraph/runtime/hybrid/hybrid_util.hpp
@@ -28,6 +28,7 @@ namespace ngraph
 {
     namespace runtime
     {
+        class Backend;
         namespace hybrid
         {
             void rewrite_function(
diff --git a/src/ngraph/runtime/intelgpu/intelgpu_backend.cpp b/src/ngraph/runtime/intelgpu/intelgpu_backend.cpp
index ddff1d5f3..26ac324f7 100644
--- a/src/ngraph/runtime/intelgpu/intelgpu_backend.cpp
+++ b/src/ngraph/runtime/intelgpu/intelgpu_backend.cpp
@@ -94,6 +94,7 @@
 #include "ngraph/op/one_hot.hpp"
 #include "ngraph/op/or.hpp"
 #include "ngraph/op/pad.hpp"
+#include "ngraph/op/parameter.hpp"
 #include "ngraph/op/product.hpp"
 #include "ngraph/op/quantize.hpp"
 #include "ngraph/op/reshape.hpp"
@@ -104,7 +105,6 @@
 #include "ngraph/op/softmax.hpp"
 #include "ngraph/op/sum.hpp"
 #include "ngraph/op/topk.hpp"
-#include "ngraph/parameter_vector.hpp"
 #include "ngraph/util.hpp"
 
 using namespace std;
diff --git a/src/ngraph/util.cpp b/src/ngraph/util.cpp
index 50e0216db..640fa5aaf 100644
--- a/src/ngraph/util.cpp
+++ b/src/ngraph/util.cpp
@@ -27,7 +27,7 @@
 #include "ngraph/graph_util.hpp"
 #include "ngraph/log.hpp"
 #include "ngraph/node.hpp"
-#include "ngraph/result_vector.hpp"
+#include "ngraph/op/result.hpp"
 #include "ngraph/runtime/backend.hpp"
 #include "ngraph/shape.hpp"
 #include "ngraph/util.hpp"
diff --git a/src/ngraph/util.hpp b/src/ngraph/util.hpp
index e95fb30ff..fca059201 100644
--- a/src/ngraph/util.hpp
+++ b/src/ngraph/util.hpp
@@ -32,7 +32,7 @@
 
 #include "ngraph/axis_vector.hpp"
 #include "ngraph/graph_util.hpp"
-#include "ngraph/node_vector.hpp"
+#include "ngraph/node.hpp"
 #include "ngraph/shape.hpp"
 
 namespace ngraph
-- 
2.18.0