added code reuse pattern #1