rework close/destroy interfaces