shoulda gem added and replaced some of the test cases