correctly build initial generation and DOM