optimising cascade