propagation table impl