Nice error handling! What's the big empty string for?