refactored member AST member variables to unique_ptr