updates to support non int primary keys