adding modularity