Updated the memory allocator to avoid unnecessary copy. Far calls can now easily be calculated in situ.