Precalculus a Problems Oriented Approach by David Cohen