A couple of fixes

fix a bug with _first -
   now inserts the entire middleware object instead of just the handle

.first() now returns this