Improve tests and propagation algorithm