generalized upper bounding method