now returning modified in visit() correctly