use JSON, change how filetypes are handled, no bad URL gets