started to break up Cascade class into different parts