list -> set for history
increase gradient performance