Modularised to accommodate multiple WMs