using a separate method 'rename' instead of a setter for the name that causes an infinite loop.