Fix: cast and role