Selection, crossove, mutation added