D implementation