some modifications ... (IMPORTANT: cascade structure slightly changed)