delete by framework