code hardening: let's consider an empty file an invalid file
code hardening: empty file = invalid file (except user data)