flexibility and modularity