adding output generation