plugin mechanism improved