improoved style of new_evolution