make primary key field optional, though other parts of this class assume :id
use symbol for primary key