type and symbol table stuff