3rd propagation algorithm, looks better