Improved modularity, variable naming consistency improved