Reads files more sensibly and should cope with UTF8 etc.