Added support for alternative primary key fields

- The ID field is no longer special