hack something together from old streams api...