add union chaining