improved split function