Way better error handling