major plugin restructuring