refactoring SyntaxTree
refactoring constructor