new API allow passing outputstream and writer to render service; limited optimization on the new API impl