fix: error handling