Added an optional `files` option. More polishing.