add decode error handling