more spec refactoring for even more flexibility