modularization implemented