call ensemble_cast/2 directly here instead and remove cast/2