refactor and improve renaming support