+struct files. seems to be portable...