Modular differential evolution