generatively done. Still needs GSUB