Split & compose