auxiliary functions double, isolated and blocked, and development of evaluate