complete Iplugin interface