symbol table, namespace, visitor