major changes to implementation of Reactive. todo: reflect changes in Reactor