working plugin framework added