saved in UTF-8 without BOM