single logic update