todo: test this to see if usable for RX.scala