Big spec refactoring.