Data science up for first round of review

1) Focus on rspec tests 
2) Stuck at trying to refactor the exception part
Move this into its own method that explicitly checks for the arguments validity and raises the errors there