generalized splitname