Designing the Model Layer