Author: Craig B. Fryhle T.W.Graham Solomons