Error Correction And Detection In Data Communication