10.1016/0304-3800(94)00200-2