Building things using patterns