Add D implementation