use d2vlib's struct