added more general string split support