Add the ability to choose a custom primary key