content generation implementation