closes #288 by ensuring header() always returns a tuple