generator: almost finished D generator