Character analysis: an empirical approach applied to advanced snakes