code modularity improved