add asFile()