bounds based updates