just a little odd to decode BEFORE the quick exit on empty string.