work on plugin framework