IPlugin refac