use model attributes rather than relying on toJSON({shallow: true})