added copyobject, modify destroyobject