make the plugin more generic