better variable support