refactored more of the cascade class out to components