First implementation of propagation
Reimplement all logic
More changes