reduce to the file api to bare minimum