edit components and generate content