rewrote generateContent into an abstract class Content