more complex model implemented.