plugin interface a bit cleaned up