refactoring Writer interface