massive refactorng of the user plugins