eliminate difference between root/inner/leaf nodes
eliminate duplication
move to dot syntax