redesign compiling symbol and testing type of symbol