improve interface to have more (potential) control over output
generation