better rename function