how come filename is a parameter instead of a key in the options? or is that because we want filename to be required?