amended to clarify "primary key" behaviour