added request error control