no longer require primaryKey