static generator