push down complexity to model level