rewrote as wrapper class of NestedVector