add io.Writer set support