basic framework of deletion