added split and union