Design patterns HW