added reactive control