First pass at wrap.  Needs simpler tests.