changed the declared visitor methods to the astvisitor structure