uses pluginLoader if available