filename as an optional argument