restored plugin interface