initial commit for the plugin framework