modify renamer to use visitor