add sampling
pull new ilp