add variable controller and compute