modified reactiveagent to not be dependent on 180 degrees thing, but it is untested