fix Head constructor inheritence
need to refactor recursive walk on nodes