abstract writer, started working on file streaming