added streaming hooks