added in some extra stream handlers in IO