it turns out put_file_contents is not a function