refactor color change effects