moved html gen to module