introduced better modularization