output generator class