part II of the big rapid/semantic segregation and refactoring