first pass on const. gen.