add FullWriter, implements io.Writer