moved on the abstract class what is general and left on the extension what is relative to the html gen implementation