generalise the model