Source: http://web.pdx.edu/~wamserc/C335W13/Chap17NamingKey.pdf