verify how range works with nil
updated to work with new http methods.
moved code over from http utils
added a clone test
refactored - back breaking because of the header addition