line generator class