implement symbol table