Working. But not properly.

We're returning the data holders. Not sure why returning the void
pointers themselves is not working. Will fix this in due course.