distributed model