proper evolution loop