controller surface