Refactored to make rspec friendly
In progress
Major edits for V2 done, cleanup to commence