Lab 1. Design patterns