project M1 Design Pattern