pattern desigh:bridge