add bridge design pattern