error control implemented