added baseplugin interface
writer as a plugin, added BaseInterface