implemented OutputWriter