2024–25 Belgian Division 2

Football league season From Wikipedia, the free encyclopedia

The 2024–25 Belgian Division 2 is scheduled to be the ninth season of the division in its current format, placed at the fourth-tier of football in Belgium.

Season2024–25
Dates25 August 2024 – 4 May 2025
PromotedVV A: Roeselare, Zelzate
VV B: Houtvenne, Diegem
ACFF: Crossing Schaerbeek, Habay-la-Neuve, Meux
RelegatedVV A: Dikkelvenne
Jong Westerlo
Olsa Brakel
Voorde-Appelterre
VV B: Esperanza Pelt
Lille
Wezel Sport
ACFF: Eupen U23, La Louvière Centre, Seraing B (Discontinued), Verlaine
Quick facts Season, Dates ...
Belgian Division 2
Season2024–25
Dates25 August 2024 – 4 May 2025
PromotedVV A: Roeselare, Zelzate
VV B: Houtvenne, Diegem
ACFF: Crossing Schaerbeek, Habay-la-Neuve, Meux
RelegatedVV A: Dikkelvenne
Jong Westerlo
Olsa Brakel
Voorde-Appelterre
VV B: Esperanza Pelt
Lille
Wezel Sport
ACFF: Eupen U23, La Louvière Centre, Seraing B (Discontinued), Verlaine
Matches786
Close

Team changes

From this season on, the two VV divisions were reduced from 18 to 16 teams, resulting in four fewer teams entering the division than leaving it.

In

  • The champions from each of the four divisions of the 2023–24 Belgian Division 3 were directly promoted: Westhoek (VV A), Termien (VV B), Onhaye (ACFF A) and Union Hutoise (ACFF B).
  • Also promoted via promotion play-offs were Aywaille, Berg en Dal, Crossing Schaerbeek, Habay-la-Neuve, Manageoise, Ostiches-Ath, Raeren-Eynatten, Pelt, Roeselare and Wellen.
  • To increase the number of U23 teams in this division:

Out

Division switch

The initial proposition placed Houtvenne together with Jong Westerlo in the VV B division, with Houtvenne cooperating strongly with Westerlo (having loaned several players over the last few seasons), other clubs objected and insisted Houtvenne and the U23 team of Westerlo would be placed in different division to avoid any probability of matchfixing. As a result, Jong Westerlo moved to the VV A division, swapping places with Jong KV Mechelen.[1]

Belgian Division 2 VV A

Locations of the 2024–25 Belgian Division 2 VV A teams

League table

More information Pos, Team ...
Pos Team Pld W D L GF GA GD Pts Qualification or relegation
1 Roeselare (C, P) 30 20 5 5 53 24 +29 65 Promotion to the 2025–26 Belgian National Division 1
2 Oostkamp[a] 30 17 4 9 55 43 +12 55
3 Zelzate (P) 30 15 9 6 70 43 +27 54 Qualification for the Promotion play-offs VV
4 Harelbeke 30 15 9 6 59 44 +15 54
5 Oudenaarde[b] 30 14 7 9 52 47 +5 49
6 Dikkelvenne[c] (R) 30 13 10 7 56 38 +18 49 Relegation to the Belgian Provincial Leagues
7 Jong Essevee 30 13 3 14 58 48 +10 42 Qualification for the Promotion play-offs VV
8 Westhoek 30 11 8 11 40 45 5 41
9 Petegem 30 11 7 12 47 55 8 40
10 Racing Gent 30 10 7 13 50 61 11 37
11 Lebbeke 30 8 12 10 52 54 2 36
12 Jong Westerlo[d] (R) 30 9 6 15 40 47 7 33 Team discontinued
13 Torhout 30 8 8 14 44 59 15 32
14 Gullegem 30 8 7 15 46 55 9 31 Qualification for the Relegation play-offs
15 Olsa Brakel (R) 30 7 7 16 40 65 25 28 Relegation to the 2025–26 Belgian Division 3
16 Voorde-Appelterre (R) 30 5 3 22 33 67 34 18
Close
Source: vbal4
Rules for classification: 1) Points; 2) Matches won; 3) Goal difference; 4) Goals scored; 5) Away matches won; 6) Goal difference in away matches; 7) Away goals scored.[4]
(C) Champions; (P) Promoted; (R) Relegated
Notes:
  1. Oostkamp did not obtain a license for Division 1 and therefore did not qualify for the promotion play-offs.
  2. Oudenaarde did not obtain a license for Division 1 and therefore did not qualify for the promotion play-offs.
  3. On December 10, 2024, Dikkelvenne announced that due to financial pressures they had opted to voluntarily relegate back to the Belgian Provincial Leagues[2]
  4. The parent team K.V.C. Westerlo announced that they would be discontinuing their U23 team at the end of the season.[3]

Period champions

  • First period: Roeselare (24 Points)
  • Second period: Roeselare (22 Points)
  • Third period: Oostkamp (26 Points)

Results

More information Home \ Away, ROE ...
Home \ Away ROE OOS ZEL HAR OUD DIK ESS WES PET GEN LEB JWE TOR GUL BRA VOO
Roeselare 2–0 3–1 1–1 2–0 0–0 2–1 2–0 2–0 1–2 2–0 2–1 2–1 3–2 3–0 3–2
Oostkamp 1–0 1–2 1–1 2–1 2–0 3–1 0–3 2–1 3–3 5–3 3–0 1–0 2–1 4–5 4–0
Zelzate 3–2 2–4 0–0 1–2 2–1 4–1 4–0 5–0 3–1 1–3 3–3 4–0 1–1 5–1 4–2
Harelbeke 0–4 3–2 1–0 1–3 4–3 2–1 3–0 2–2 1–1 2–3 2–1 1–2 5–4 4–1 2–0
Oudenaarde 1–3 3–1 2–2 2–2 2–2 1–0 2–0 1–3 1–1 2–3 2–1 4–1 1–0 3–2 3–1
Dikkelvenne 1–0 3–0 2–0 2–2 2–0 2–4 4–0 2–4 3–0 2–2 3–2 1–1 0–0 1–0 3–0
Jong Essevee 2–1 0–1 1–2 1–3 2–0 2–0 1–1 2–1 2–1 6–1 1–2 3–1 4–0 2–0 5–0
Westhoek 0–1 0–1 2–2 2–4 2–0 1–1 2–2 3–4 1–0 0–0 1–2 3–2 2–1 3–0 1–0
Petegem 1–1 1–2 1–2 1–4 1–1 1–2 4–3 1–1 3–2 0–0 3–2 2–1 2–1 2–2 1–0
Racing Gent 1–3 2–1 0–2 1–0 1–3 3–3 4–3 0–3 4–0 3–3 2–4 2–2 3–2 0–1 4–1
Lebbeke 1–1 1–1 1–1 2–2 1–3 1–3 1–1 1–2 1–1 1–2 1–1 1–2 2–2 4–0 0–4
Jong Westerlo 0–1 1–1 1–1 0–1 0–1 2–2 0–1 3–0 2–0 1–2 0–3 1–1 3–1 3–2 0–1
Torhout 2–3 1–2 1–4 2–1 2–2 2–1 2–3 0–2 0–3 1–1 4–2 0–1 1–1 3–1 1–1
Gullegem 0–1 2–1 1–4 0–2 1–4 0–0 3–1 2–2 2–1 5–0 1–3 3–1 3–4 2–1 1–0
Olsa Brakel 0–2 1–3 2–2 1–1 2–2 1–2 1–0 2–2 2–1 1–2 0–5 3–1 1–1 0–0 4–2
Voorde-Appelterre 0–0 0–1 3–3 1–2 5–0 0–5 3–2 0–1 1–2 3–2 0–2 0–1 2–3 1–4 0–3
Close
Source: Nationaal : 1st klasse (in Dutch)
Legend: Blue = home team win; Yellow = draw; Red = away team win.

Belgian Division 2 VV B

Locations of the 2024–25 Belgian Division 2 VV B teams

League table

More information Pos, Team ...
Pos Team Pld W D L GF GA GD Pts Qualification or relegation
1 Houtvenne (C, P) 30 19 8 3 69 27 +42 65 Promotion to the 2025–26 Belgian National Division 1
2 Rupel Boom 30 19 8 3 53 20 +33 65 Qualification for the Promotion play-offs VV
3 Diegem (P) 30 18 8 4 66 33 +33 62
4 Termien[a] 30 14 6 10 59 49 +10 48
5 Jong KV Mechelen 30 13 7 10 56 44 +12 46 Qualification for the Promotion play-offs VV
6 Racing Mechelen 30 12 10 8 47 45 +2 46
7 Hades 30 13 5 12 40 42 2 44
8 Berg en Dal 30 12 5 13 42 48 6 41
9 Jong STVV 30 8 10 12 50 43 +7 34
10 Berchem 30 8 10 12 37 49 12 34
11 Tongeren 30 8 8 14 27 41 14 32
12 Wellen 30 8 8 14 37 56 19 32
13 Bocholt 30 8 7 15 50 59 9 31
14 Lille (R) 30 9 3 18 40 67 27 30 Qualification for the Relegation play-offs
15 Pelt (R) 30 6 11 13 35 45 10 29 Relegation to the 2025–26 Belgian Division 3
16 Wezel (R) 30 4 8 18 38 78 40 20
Close
Source: vbal4
Rules for classification: 1) Points; 2) Matches won; 3) Goal difference; 4) Goals scored; 5) Away matches won; 6) Goal difference in away matches; 7) Away goals scored.[5]
(C) Champions; (P) Promoted; (R) Relegated
Notes:
  1. Termien did not apply for a Division 1 license and therefore did not qualify for the promotion play-offs.

Period champions

  • First period: Rupel Boom (23 Points)
  • Second period: Termien (23 Points)
  • Third period: Houtvenne (26 Points)

Results

More information Home \ Away, HOU ...
Home \ Away HOU RUP DIE TER KVM RCM HAD BED STR BER TON WEL BOC LIL PEL WEZ
Houtvenne 1–1 1–2 4–0 1–1 6–2 1–0 4–0 2–0 2–0 1–1 4–1 4–1 4–0 3–1 4–0
Rupel Boom 3–1 4–1 2–0 4–0 0–0 0–3 0–1 2–2 1–2 3–1 4–0 2–1 2–0 2–0 3–1
Diegem 1–1 0–1 2–3 3–0 0–0 3–1 4–1 2–0 1–1 0–1 1–1 3–2 1–0 3–2 9–1
Termien 2–3 0–2 1–1 1–2 3–1 1–0 2–3 1–1 4–0 2–1 2–0 6–1 2–0 3–1 0–2
Jong KV Mechelen 1–2 1–2 2–2 5–1 3–0 0–0 3–1 3–2 4–1 0–1 0–0 3–0 1–3 1–0 5–1
Racing Mechelen 0–0 0–2 1–2 3–3 1–1 1–1 1–3 4–2 3–0 3–0 2–1 2–2 2–3 2–2 2–1
Hades 1–2 0–1 1–3 1–2 1–3 3–1 0–2 2–0 0–0 2–1 4–2 2–1 4–0 2–1 1–0
Berg en Dal 1–5 1–2 0–1 3–1 3–0 0–1 3–0 0–1 1–2 1–1 2–2 1–1 2–0 1–0 1–4
Jong STVV 2–1 0–0 1–1 3–4 1–1 2–3 6–0 4–1 1–1 0–1 1–2 4–0 8–3 0–0 3–0
Berchem 1–2 1–1 3–4 2–1 2–2 1–1 2–3 1–1 0–0 0–1 3–1 1–2 0–2 0–2 0–2
Tongeren 0–2 1–1 2–4 0–0 1–3 1–2 0–1 1–1 3–1 0–1 1–0 0–0 4–2 1–2 1–0
Wellen 1–1 0–0 1–3 1–2 2–1 1–3 1–2 4–0 2–1 1–1 1–0 1–0 2–1 0–4 4–4
Bocholt 1–3 1–2 1–1 2–4 3–0 1–2 2–0 0–4 1–1 2–3 4–0 1–2 6–3 2–1 3–3
Lille 1–1 0–3 0–6 2–2 1–4 0–0 0–2 1–2 2–0 1–3 2–0 3–0 0–2 4–0 3–2
Pelt 1–1 0–2 0–1 1–1 3–2 0–1 2–2 2–0 0–2 1–1 0–0 2–2 1–1 2–1 2–2
Wezel 1–2 1–1 0–1 0–5 1–4 1–3 1–1 0–2 1–1 2–4 2–2 3–1 0–6 0–2 2–2
Close
Source: Nationaal : 1st klasse (in Dutch)
Legend: Blue = home team win; Yellow = draw; Red = away team win.

Belgian Division 2 ACFF

2024–25 Belgian Division 2 is located in Belgium
A-Lessines
A-Lessines
Verlaine
Verlaine
Ganshoren
Ganshoren
Jette
Jette
La Calamine
La Calamine
Manage
Manage
Onhaye
Onhaye
Ostiches-Ath
Ostiches-Ath
Verviers
Verviers
Aywaille
Aywaille
Union Hutoise
Union Hutoise
Habay-la-Neuve
Habay-la-Neuve
Raeren-Eynatten
Raeren-Eynatten
Locations of the 2024–25 Belgian Division 2 ACFF teams

League table

More information Pos, Team ...
Pos Team Pld W D L GF GA GD Pts Qualification or relegation
1 Crossing Schaerbeek (C, P) 34 22 10 2 61 27 +34 76 Promotion to the 2025–26 Belgian National Division 1
2 Meux (P) 34 21 9 4 68 31 +37 72 Qualification for the Promotion play-offs ACFF
3 Onhaye 34 19 7 8 51 33 +18 64
4 Habay-la-Neuve (P) 34 18 6 10 49 30 +19 60
5 Acren-Lessines[a] 34 16 9 9 53 39 +14 57
6 Verviers 34 15 8 11 43 32 +11 53 Qualification for the Promotion play-offs ACFF
7 Raeren-Eynatten 34 15 7 12 37 36 +1 52
8 La Calamine 34 14 8 12 55 45 +10 50
9 Seraing B (R) 34 12 8 14 45 51 6 44 Team discontinued from U-23
10 Jette 34 11 11 12 40 49 9 44
11 Manageoise 34 12 7 15 47 62 15 43
12 Aywaille 34 12 6 16 48 55 7 42
13 Ganshoren 34 10 11 13 45 49 4 41
14 Union Hutoise 34 9 10 15 47 54 7 37
15 Ostiches-Ath 34 9 8 17 40 57 17 35
16 Verlaine (R) 34 8 4 22 41 63 22 28 Relegation to the 2025–26 Belgian Division 3
17 La Louvière Centre (R) 34 6 7 21 39 67 28 25
18 Eupen U23 (R) 34 6 6 22 38 67 29 24
Close
Source: vbal4
Rules for classification: 1) Points; 2) Matches won; 3) Goal difference; 4) Goals scored; 5) Away matches won; 6) Goal difference in away matches; 7) Away goals scored.[6]
(C) Champions; (P) Promoted; (R) Relegated
Notes:
  1. Acren-Lessines did not obtain a license for Division 1 and therefore did not qualify for the promotion play-offs.

Period champions

  • First period: Meux (24 Points)
  • Second period: Crossing Schaerbeek (26 Points)
  • Third period: Crossing Schaerbeek (28 Points)

Results

More information Home \ Away, SCH ...
Home \ Away SCH MEU ONH HAB A-L VEV R-E LAC SER JET MAN AYW GAN HUY O-A VER LAL EUP
Crossing Schaerbeek 2–2 0–1 2–0 1–1 0–0 2–0 1–0 3–1 3–3 2–0 3–3 0–0 2–0 4–3 0–0 1–1 1–0
Meux 1–1 0–1 2–1 1–1 3–0 4–3 2–1 5–0 2–0 4–0 2–1 4–2 3–1 3–1 3–0 2–0 5–1
Onhaye 2–3 0–0 2–1 4–1 2–1 3–0 1–1 2–1 2–1 3–1 1–2 2–0 2–1 1–1 2–1 1–0 1–2
Habay-la-Neuve 0–1 0–2 1–0 1–0 1–1 1–0 2–0 2–0 3–1 1–0 0–1 0–1 4–2 1–2 1–0 2–2 0–1
Acren-Lessines 1–1 2–1 4–1 0–1 1–0 0–0 0–2 0–2 0–1 2–3 3–2 1–1 3–2 2–1 2–1 5–1 2–0
Verviers 1–2 1–2 1–1 0–1 4–2 0–2 4–0 1–1 1–1 1–2 0–1 1–1 2–1 2–0 1–0 0–1 2–0
Raeren-Eynatten 0–3 1–0 0–0 0–2 2–1 3–4 2–0 2–0 0–0 0–1 1–1 1–1 1–4 0–0 1–0 2–0 2–0
La Calamine 0–2 3–0 1–2 0–1 0–0 0–0 3–1 2–2 2–1 4–0 2–0 0–3 1–1 1–1 6–1 5–2 1–0
Seraing B 0–2 0–1 2–1 4–1 1–1 0–2 0–1 3–2 1–0 0–2 2–0 3–3 3–2 6–1 0–0 2–0 0–0
Jette 0–3 1–1 0–1 1–1 0–3 0–1 2–0 2–1 2–1 1–1 1–0 0–0 0–1 2–1 3–2 2–1 1–1
Manageoise 0–5 0–0 2–1 2–5 1–2 1–2 0–2 2–2 6–2 1–1 4–1 2–2 2–1 2–3 3–0 1–1 2–1
Aywaille 1–2 2–2 0–1 1–3 0–0 0–1 1–4 3–1 2–1 2–2 3–0 4–0 2–2 1–2 1–2 3–2 1–0
Ganshoren 0–1 0–1 1–1 1–1 0–0 1–1 3–0 0–2 1–2 1–3 2–0 4–1 2–0 0–1 1–2 2–0 1–4
Union Hutoise 3–1 1–1 1–1 1–1 0–3 1–2 0–0 2–4 2–0 2–1 3–0 2–0 2–3 2–2 1–2 3–1 1–1
Ostiches-Ath 1–2 1–1 0–1 1–2 1–2 1–0 0–1 1–3 0–0 0–0 0–1 2–1 1–2 1–0 3–3 3–1 3–2
Verlaine 0–1 1–3 2–1 0–3 0–2 0–2 0–1 1–1 1–2 8–0 1–2 1–2 3–0 1–3 2–0 2–6 1–0
La Louvière Centre 0–1 1–2 0–3 0–0 1–3 0–2 0–1 0–1 1–1 1–4 3–2 0–2 2–4 0–0 4–1 3–1 2–1
Eupen U23 2–3 1–3 1–3 1–4 2–3 0–2 0–3 2–3 0–2 1–3 1–1 2–3 3–2 1–1 2–1 3–2 2–2
Close
Source: vbal4 (in Dutch)
Legend: Blue = home team win; Yellow = draw; Red = away team win.

Promotion play-offs

VV

The promotion play-offs are contested by eight teams, from each division four teams: the team finishing second overall plus the three period champions. In case one or more periods are won by the eventual champion (already promoted) or by the same club, then the best ranked team that has not already qualified will take its place. Furthermore, any team not eligible (for instance due to not receiving a licence) will not be eligible to take place and the next best ranked team will take its spot.

Qualified teams:

  • Diegem Sport (highest place eligible finisher (3rd) not directly qualified from division VV B)
  • Harelbeke (2nd highest place eligible finisher (3rd) not directly qualified from division VV A)
  • Jong Essevee (3rd highest place eligible finisher (7th) not directly qualified from division VV A)
  • Jong KV Mechelen (2nd highest place eligible finisher (5th) not directly qualified from division VV B)
  • Racing Mechelen (3rd highest place eligible finisher (6th) not directly qualified from division VV B)
  • Rupel Boom (runner-up division VV B)
  • Zelzate (highest place eligible finisher (3rd) not directly qualified from division VV A)

Due to only three teams receiving a licence in division VV A, only seven teams took part. Diegem Sport was the lucky team to receive a bye to the second round. As only one place was available, three rounds will be needed and only the winner of the third round will be automatically promoted. The losing team of round 3 will be first in line in case another spot opens up and a third-place match is scheduled to be played for ruther ranking.

Round 1Round 2Placing 1st/2nd
4 May 2025
Jong KV Mechelen0
Zelzate511 May 2025
Zelzate2
4 May 2025Harelbeke0
Racing Mechelen1
Harelbeke218 May 2025
Zelzate1
3 May 2025Diegem2
Jong Essevee2
Rupel Boom011 May 2025
Jong Essevee2Placing 3rd/4th
Diegem318 May 2025
Jong EsseveeNP
HarelbekeNP

Round 1

More information Jong Essevee, 2–0 ...
Jong Essevee2–0Rupel Boom
  • Van Keymolen 17'
  • Talini 82'
Report
Close

More information Jong KV Mechelen, 0–5 ...
Jong KV Mechelen0–5Zelzate
Report
  • Ackx 3'
  • Aelterman 13'
  • Habbas 52'
  • Youdjouen 63', 84'
Close

More information Racing Mechelen, 1–2 ...
Close

Jong Essevee, Harelbeke, and Zelzate qualified for the VV second-round promotion play-offs, Diegem automatically qualified after receiving a bye in the first round

Round 2

More information Jong Essevee, 2–3 ...
Jong Essevee2–3Diegem
  • Van Keymolen 33', 53' (pen.)
Report
  • Mauën 17'
  • Sulejmani 61' (pen.), 71'
Close
The Farm, Zulte
Referee: Arthur Seynaeve

More information Zelzate, 2–0 ...
Zelzate2–0Harelbeke
  • Habbas 6', 36'
Report
Close
Armand Seghers Complex, Zelzate
Referee: Jonas Timmermans

Placing 3rd/4th

More information Jong Essevee, Not Played ...
Close

The match between Jong Essevee and Harelbeke was cancelled as it was unlikely that extra promotion spots would become available, making this match useless.

Placing 1st/2nd

More information Zelzate, 1–2 ...
Zelzate1–2Diegem
  • Youdjouen 90'
Report
Close

Diegem was promoted. Because Jong Genk was ultimately not relegated to the Division 1, KVV Zelzate was also promoted to Division 1.

ACFF

The promotion play-offs on ACFF-side are contested by four teams: the team finishing second overall plus the three period champions. In case one or more periods are won by the eventual champion (already promoted), the runner-up, or by the same club, then the best ranked team that has not already qualified will take its place. Furthermore, any team not eligible (for instance due to not receiving a licence) will not be eligible to take place and the next best ranked team will take its spot.

Qualified teams:

  • Meux (runner-up)
  • Onhaye (highest place eligible finisher (3rd) not directly qualified)
  • Verviérs (2nd highest place eligible finisher (4th) not directly qualified)
  • Habay-la-Neuve (3rd highest place eligible finisher (5th) not directly qualified)

As this season there were no teams from ACFF-side relegation from the 2024–25 Challenger Pro League, two extra teams need to be promoted. As a result, the two first round winners will be promoted. The ACFF has scheduled both a final and 3rd-place match to be played, but it is unlikely that either of these matches will be played as at the time of the draw it was quite unlikely a third team could possibly be promoted.

Round 1 Round 2
    
Meux 1 (3)
Onhaye 1 (1)
Meux 1
Habay-la-Neuve 3
Verviers 0
Habay-la-Neuve 1 Third place
Onhaye 3
Verviers 2

Semi-final

More information Verviers, 0–1 ...
Verviers0–1Habay-la-Neuve
  • Reyter 78'
Close
Stade Communale de Bielmont, Verviers

More information Meux, 1–1 ...
Meux1–1Onhaye
  • Lorenzon 25'
Penalties
Sleeuwaert soccer ball with check mark
Gaux soccer ball with check mark
Lotte soccer ball with red X
Gauchet soccer ball with check mark
3–1 soccer ball with red X Gilain
soccer ball with check mark Leclef
soccer ball with red X Defresne
soccer ball with red X Puche
Close
Stade des Vert et Blanc, La Bruyère
Attendance: 1,500

Habay-la-Neuve and Meux are promoted. The final and third-place match are scheduled to determine the order in case extra promotion spots become available.

Placing 3rd/4th

More information Verviers, 3–2 ...
Verviers3–2Onhaye
  • Said 7'
  • Demarteau 17'
  • Offermann 65'
Report
  • Gillis 70'
  • Houziaux 90+3'
Close

Placing 1st/2nd

More information Meux, 1–3 ...
Meux1–3Habay-la-Neuve
  • Kinif 29'
Report
  • Hausman 14', 36', 38'
Close

Relegation play-off

At this level of the football pyramid, there is only a relegation playoff on the VV-side, with the two teams finishing 14th playing each other.

More information Lille United, 1–3 ...
Lille United1–3Gullegem
  • Pelic 71'
Report
  • Vancraeyveld 1' (pen.)
  • Braekeveld 55'
  • Moerkerke 90'
Close

Gullegem remain in Belgian Division 2, while Lille United are relegated to Belgian Division 3.

References

Related Articles

Wikiwand AI