Author: Rafael C. Gonzalez , Richard E woods