RosyWriter rewrite for unified api