add all error control