update the functional model