merging over functionality from daviddeutsch/rx