modularity and add plugins