making it work for all platforms.
The implementation for File