delete unnecessary