merged in Alvin Schur's spec refactoring