added static generator