Revised model using an array of keys