Upper Saddle River, N.J. : Prentice Hall PTR ; London : Prentice Hall