using splitting methods