I'm wondering whether it makes sense for files.isFile() to do an exists() check as well? Same with isDirectory(). Nearly every time they are used, there's an exists check as well, might be nicer if those lines just said 'is this a file'? yes/no