Restructered the plugin