// file has to exist, but can be empty