add interface wherealbe
add Deleter