Data science up for first round of review

1) Focus on rspec tests 
2) Stuck at trying to refactor the exception part
Use the new Ruby 1.9 hash syntax.