full variable support