pattern design