File and line are optional