A better plugin restructure