Credit: This originally based on XU Lu's work I rewrite it base on Romain's comment and add the tests
Attach a file by drag & drop or click to upload