Add support to specify multiple destination candidates using the || operator; Rewrite the destination-determining ruleset