add programming analogy