removed cleanup, simplified the part number logic for streams, extend-protocol instead of extend