feat(core): add destroy method