Rewamped the entire code to use a Helper delegate instead of implementing all code in the AST Transformation