split controller and compute up