introduce response exception for better error handling