most of the implementation done for DVector as XYDataItem