added deconstruct for object