speedups after running with doppel.  use unsafe pointers instead of interfaces for values