rewrite of plugin exposure and added addTab method