better error handling and fallbacking