still need to check repair procedure, but its a go over evo algorithm