add L2 upper bound