symboltable and tests implemented