add dX impl