pattern design:prototype