differential controller