add appendFile interface