implemented stream buffered printer