fix recursive concatenation