Data science up for first round of review

1) Focus on rspec tests 
2) Stuck at trying to refactor the exception part
Prefer `map` over `collect`.