refactored specs with shoulda-matchers