improving the plugin interface