all memory copying is now implemented