support delete
add generic instance