modified files.hpp so it's easy to implement the windows version