use None as default file arg