further structure the model