Added define-and-pollute approach