reactive patterns