better generation and display