improves modularization