accept file as arg