refactoring
initial evolutionary module