trivially handle empty strings as input, regardless of specified format