added shoulda gem and validation tests