use headers whenever possible.