make stream classes override-able.