Maybe these and all the similar functions below should return File instead of String - makes it a bit more explicit what's going on?