output
generation