Redesigned domain propagation. (close #16)

Reimplemented domain propagation with Queue instead of
recursive call.