start explaining the symbol table implementation