custom delete begin