implementing symbols for type checking and resolution