fix new method in interface
add a abstract class to manage FileWriter
refactoring Writer using files