Changed to use `IO`-based `Output`
Several changes
More changes
Many changes
More changes
More changes
Updated documentation