rework delta implementation