Remove the remaining raw pointers

Fixes #195
hmm either follow my suggestion of pass-by-value optimization or David's of pass-by-reference. You are right in between here now with pass by value and then making a copy.